当前位置:网站首页>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
边栏推荐
- 27: Chapter 3: develop Passport Service: 10: [registration / login] interface: after the registration / login is OK, save the user session information (uid, utoken) to redis and cookies; (one main poi
- 二进制操作
- Hongmeng's fourth learning
- The student Tiktok publicized that his alma mater was roast about "reducing the seal of enrollment". Netizen: hahahahahahahaha
- 材质UV遮罩的技巧
- 消息队列消息丢失和消息重复发送的处理策略
- 从list转化成map的时候,如果根据某一属性可能会导致key重复而异常,可以设置处理这种重复的方式
- Singapore summer tourism strategy: play Singapore Sentosa Island in one day
- Emmet basic syntax
- What are the links of the problem
猜你喜欢

仿京东放大镜效果(pink老师版)

【JVM调优实战100例】01——JVM的介绍与程序计数器

Talk about the design of red envelope activities in e-commerce system

codeforces每日5题(均1700)-第四天

新手必看,點擊兩個按鈕切換至不同的內容

STM32G0 USB DFU 升级校验出错-2

ICDE 2023|TKDE Poster Session(CFP)

juypter notebook 修改默认打开文件夹以及默认浏览器

使用CLion编译OGLPG-9th-Edition源码

全链路数字化转型下,零售企业如何打开第二增长曲线
随机推荐
Google's official response: we have not given up tensorflow and will develop side by side with Jax in the future
中国信通院《数据安全产品与服务图谱》,美创科技实现四大板块全覆盖
Crypto usage in nodejs
R language ggplot2 visualization: visualize the line chart and add customized X-axis label information to the line chart using labs function
Exness in-depth good article: dynamic series - Case Analysis of gold liquidity (V)
ORA-01455: converting column overflows integer datatype
潇洒郎:彻底解决Markdown图片问题——无需上传图片——无需网络——转发给他人图片无缺失
Distance measurement - Jaccard distance
9D电影是怎样的?(+维度空间常识)
How to enable the run dashboard function of idea
Obligatoire pour les débutants, cliquez sur deux boutons pour passer à un contenu différent
Deep learning mathematics foundation
预处理和预处理宏
How performance testing creates business value
Compile oglpg-9th-edition source code with clion
Troubleshooting: kubectl reports an error validationerror: unknown field \u00a0
Excel查找一列中的相同值,删除该行或替换为空值
Installation of thingsboard, an open source IOT platform
[test development] software testing - concept
数据降维——主成分分析