当前位置:网站首页>C file input operation
C file input operation
2022-07-02 19:11:00 【Leisurely young heart】
Copy file
// Copy file
#pragma warning(disable:4996)
#include<stdio.h>
#include<stdlib.h>
#include<errno.h >
#include <string.h>
#include<stdbool.h>
bool copy_file(const char *src, const char* dest)
{
char buf[512] = {
0 };
int file_size = 0;
FILE* f_src = NULL;
FILE* f_dest = NULL;
if ((f_src = fopen(src, "rb")) != NULL)// If the source file is not empty Read this file
{
if ((f_dest = fopen(dest, "wb")) != NULL) // If the target file is not empty Writing documents
{
//1) buffer Is the address to receive data , about fread To read the address of data , That is, the address where the data is saved
//2) size Is the number of single bytes of content to be read .
//3) count Is it necessary to read out size The number of data items in bytes .
//4) stream Pointer to the target file .
while((file_size=fread(buf,sizeof(char),sizeof(buf),f_src))>0)//fread The function is used to read data from a file stream , Its function prototype is :size_t fread(void* buffer, size_t size, size_t count, FILE*stream);
{
fwrite(buf, file_size, sizeof(char), f_dest);// Write data to f_dest This flow
memset(buf,0,sizeof(buf));// Clear data
}
fclose(f_dest);
fclose(f_src);
return true;
}
}
return false;
}
int main() {
copy_file("D:\\fileTest\\233.txt", "D:\\fileTest\\233233.txt");
//remove("D:\\fileTest\\233233.txt");// Delete file
system("pause");
return 0;
}
File read and write
#pragma warning(disable:4996)
#if 0
#include<stdio.h>
#include<stdlib.h>
#include<errno.h >
#include <string.h>
int main() {
// The latter mode is adjustable
//w( Just write )
//r( read-only )
//a( additional Add you after the previous content fprintf What's in it )
//w+ r+ a+ // All read and write
//r+b // Read binary
//w+b // Binary write
#if 0
FILE* p = fopen("D:/fileTest/flieopen.txt", "w");//D:\fileTest The path is copied like this \ Change it into / perhaps \\ // Note that it is not safe to use this method forcibly. Please add #pragma warning(disable:4996)
fprintf(p, "55555 \n");
fclose(p);
#endif // 0
#if 0
// Read the file
// The first parameter path The second is format r Indicates read-only w write in
FILE* p = fopen("D:/fileTest/flieopen.txt", "r");//D:\fileTest The path is copied like this \ Change it into / perhaps \\ // Note that it is not safe to use this method forcibly. Please add #pragma warning(disable:4996)
char buff[256];
fgets(buff, 255, p);// Parameters :buff buff Size p object fgets Get array fgetc Character acquisition
printf("%s", buff);
fclose(p);
#endif // 0
#if 0
// Read the file
// The first parameter path The second is format r Indicates read-only w write in
FILE* p = fopen("D:/fileTest/flieopen.txt", "w");//D:\fileTest The path is copied like this \ Change it into / perhaps \\ // Note that it is not safe to use this method forcibly. Please add #pragma warning(disable:4996)
fprintf(p, "55555 \n");
fseek(p,2,SEEK_SET);// The cursor
fprintf(p, "666 \n");// It is equivalent to replacing the three digits behind the cursor with 666
fclose(p);
#endif // 0
// Error handling If opening the file fails
FILE* p = fopen("D:/fileTest/flieopen.txt", "w");
if (!p)
{
int ErrorCode = errno;
fprintf(stderr, " The error code is : %d", ErrorCode);//stderr Is a global error flow
fprintf(stderr," error message : %s\n",strerror(ErrorCode));
system("pause");
exit(-1); //EXIT_FAILURE EXIT_SUCCESS
}
fclose(p);
system("pause");
exit(EXIT_SUCCESS);
return 0;
}
#endif // 0
边栏推荐
- 2022编译原理期末考试 回忆版
- LightGroupButton* sender = static_cast<LightGroupButton*>(QObject::sender());
- 深度学习数学基础
- Troubleshooting: kubectl reports an error validationerror: unknown field \u00a0
- ICDE 2023|TKDE Poster Session(CFP)
- 医院在线问诊源码 医院视频问诊源码 医院小程序源码
- R language ggplot2 visualization: gganimate package creates dynamic histogram animation (GIF) and uses transition_ The States function displays a histogram step by step along a given dimension in the
- 迷你高尔夫球场:伦敦休闲旅游好去处
- Date tool class (updated from time to time)
- Imitation Jingdong magnifying glass effect (pink teacher version)
猜你喜欢
Compile oglpg-9th-edition source code with clion
[论文阅读] CA-Net: Leveraging Contextual Features for Lung Cancer Prediction
UML class diagram
Novice must see, click two buttons to switch to different content
PHP-Parser羽毛球预约小程序开发require线上系统
Hospital online inquiry source code hospital video inquiry source code hospital applet source code
Troubleshooting: kubectl reports an error validationerror: unknown field \u00a0
juypter notebook 修改默认打开文件夹以及默认浏览器
Thoroughly understand the point cloud processing tutorial based on open3d!
The difference between SLC, MLC, TLC and QLC NAND SSD: which is better?
随机推荐
[fluent] dart data type (VaR data type | object data type)
Emmet basic syntax
Date tool class (updated from time to time)
【测试开发】一文带你了解什么是软件测试
产品经理应具备的能力
潇洒郎:彻底解决Markdown图片问题——无需上传图片——无需网络——转发给他人图片无缺失
R语言使用epiDisplay包的cox.display函数获取cox回归模型汇总统计信息(风险率HR、调整风险率及其置信区间、模型系数的t检验的p值、Wald检验的p值和似然比检验的p值)、汇总统计
数据降维——主成分分析
全链路数字化转型下,零售企业如何打开第二增长曲线
[100 cases of JVM tuning practice] 01 - introduction of JVM and program counter
M2dgr: slam data set of multi-source and multi scene ground robot (ICRA 2022)
医院在线问诊源码 医院视频问诊源码 医院小程序源码
论文导读 | 关于将预训练语言模型作为知识库的分析与批评
【测试开发】软件测试—概念篇
R language uses lrtest function of epidisplay package to perform likelihood ratio test on multiple GLM models (logisti regression). Compare whether the performance of the two models is different, and
开发固定资产管理系统,开发固定资产管理系统用什么语音
2022.7.1-----leetcode.241
Thoroughly understand the point cloud processing tutorial based on open3d!
Learn the knowledge points of eight part essay ~ ~ 1
R language ggplot2 visual Facet: gganimate package is based on Transition_ Time function to create dynamic scatter animation (GIF)