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、结果展示
本文永久更新地址://m.ajphoenix.com/linux/27742.html