1.代码
char buf[128] = "";
int count = 0;
int row = 0;
while (1)
{
bzero(buf, sizeof(buf));
if (fgets(buf, sizeof(buf), fp_r) == NULL)
{
break;
}
count += strlen(buf);
row++;
fputs(buf, fp_w);
}
结果
2.代码
#include <stdio.h>
#include <head.h>
int main(int argc, const char *argv[])
{
FILE *fp_r = fopen("1.c", "r");
if (NULL == fp_r)
{
ERR_MSG("fopen");
return -1;
}
FILE *fp_w = fopen("copy5.c", "w");
if (NULL == fp_w)
{
ERR_MSG("fopen");
return -1;
}
char buf[128] = "";//char c;
size_t res = 0;
while ((res = fread(buf, sizeof(char), sizeof(buf), fp_r)) != 0)//while ((res = fread(&c, sizeof(c), 1, fp_r)) != 0)
{
printf("res = %ld\n", res);
fwrite(buf, sizeof(char), res, fp_w);//fwrite(&c, sizeof(c), 1, fp_w);
//printf("%c", c);
bzero(buf, sizeof(buf));
}
bzero(buf, sizeof(buf));
printf("拷贝完毕\n");
fclose(fp_r);
fclose(fp_w);
fp_r = fopen("copy5.c", "r");
if (NULL == fp_w)
{
ERR_MSG("fopen");
return -1;
}
puts("");
printf("以下为拷贝文件的内容\n");
while ((res = fread(buf, sizeof(char), sizeof(buf), fp_r)))
{
fwrite(buf, sizeof(char), res, stdout);
bzero(buf, sizeof(buf));
}
bzero(buf, sizeof(buf));
return 0;
}
结果
思维导图