红联Linux门户
Linux帮助

linux c之用fwrite和fread实现文件的复制

发布时间:2017-01-12 15:03:25来源:linux网站作者:改变自己chenyu
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\n");  
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、结果展示
linux c之用fwrite和fread实现文件的复制
 
本文永久更新地址:http://www.linuxdiyf.com/linux/27742.html