试题题干
C盘中P1.c.txt文件的内容为:abcde。D盘中P1.c.txt为空文档。
#include<stdio.h>
#include<stdlib.h>
main()
{ FILE *f1,*f2;
int k;
if((f1=fopen("C:\\P1.c.txt","r"))==NULL)
{ printf("can not open file!\n");
exit(0);
}
if((f2=fopen("D:\\P1.c.txt","w"))==NULL)
{ printf("can not open file!\n");
exit(0);
}
for(k=1;k<500;k++)
{ if(feof(f1)) break;
fputc(fgetc(f1),f2);
}
printf("成功实现复制")
fclose(f1);
fclose(f2);
}
参考答案
试题解析
首先是以只读方式打开C盘中的文件P1.c.txt,再以只写方式打开D盘中的P1.c.txt,fputc(fgetc(f1),f2);是从f1所指向的文本文件中读取一个字符,并写入到f2所指向的另一文件中,if(feof(f1)) break;是直到f1所指向的文件到达文件尾,结束循环。即最后输出的结果为成功实现复制。