fread/fwrite实现文件的copy

来源:互联网 发布:淘宝斗鱼刷人气违规吗 编辑:程序博客网 时间:2024/06/05 03:27
#include<stdio.h>
#include<stdlib.h>
#define N 32
int main(int argc, const char *argv[])
{
FILE *fpread, *fpwrite;
if (argc < 2)
{
printf("users: ./a.out + filename\n");
return 0;
}
if (NULL == (fpread = fopen(argv[1], "r")))
{
perror("open failed");
return 0;
}
if (NULL == (fpwrite = fopen("./text", "w")))
{
perror("open failed");
return 0;
}
int num;
char s[N] = {0};
while ((num = fread(s, sizeof(char), sizeof(s), fpread)) > 0)
{
fwrite(s, sizeof(char), num, fpwrite);
//这里要填写num来保证最后一次写入数据的正确性,因为最后一次读到的并不是sizeof(s)个数据
//所以fwrite函数的参数要填写num
}
fclose(fpread);
fclose(fpwrite);
return 0;
}
原创粉丝点击