linux c之用fwrite和fread实现文件的复制
1、题目
用fwrite和fread函数实现文件的复制
2、函数解释
#include<stdio.h> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *FP); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *FP); 2个函数返回:读或写的对象数 fread函数用于执行直接输出操作,参数ptr是读取数据的缓冲区指针,size是读去对象的大小,nmemb表示读取的对象个数,fp是FILE的结构指针 fwrite函数用于执行直接输入操作,参数ptr是要输入数据的缓冲区指针,size是读去对象的大小,nmemb表示写入的对象个数,fp是FILE的结构指针
3、代码实现
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>
#define PATH1 "/home/chenyu/Desktop/linux/hello.txt"
#define PATH2 "/home/chenyu/Desktop/linux/test.txt"
#define READ_BUFF 100
int main()
{
FILE *fp1, *fp2;
int c = 0;
char buf[READ_BUFF] = {0};
if ((fp1 = fopen(PATH1, "rb")) == NULL) {
printf("get hello.txt fp fail");
return -1;
}
if ((fp1 = fopen(PATH2, "wb")) == NULL) {
printf("get test.txt fp fail
");
return -1;
}
while((c = fread(buf, sizeof(char), READ_BUFF, fp1)) > 0) {
fwrite(buf, sizeof(char), c, fp2);
}
if(fclose(fp1) != 0) {
puts("close fp1 fail");
}
if(fclose(fp2) != 0) {
puts("close fp2 fail");
}
return 0;
}
4、结果展示
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
