填空题 给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放 在变量tfname中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include int fun(char *source, char *target) { FILE *fs,*ft; char ch; if((fs=fopen(source, ___1___))==NULL) return 0; if((ft=fopen(target, "w"))==NULL) return 0; printf("
The data in file :
"); ch=fgetc(fs); while(!feof(___2___)) { putchar( ch ); fputc(ch,___3___); ch=fgetc(fs); } fclose(fs); fclose(ft); printf("
"); return 1; } main() { char sfname[20] ="myfile1",tfname[20]="myfile2"; FILE *myf; int i; char c; myf=fopen(sfname,"w"); printf("
The original data :
"); for(i=1; i<30; i++){ c=’A’+rand()%25;fprintf(myf,"%c",c); printf("%c",c); } fclose(myf);printf("
"); if (fun(sfname, tfname)) printf("Succeed!"); else printf("Fail!"); } 解题思路: 本题要求是把一个文件中的内容复制到另一个文件中。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。 第一处:要求打开一个读方式的源文件,因此可以填上"r"或"r+"。打开读文件操作的流是fs。 第二处:用while循环来判断源文件是否已读到文件结束符,int feof(FILE *stream),因此,此处只能填写fs。 第三处:把已经读取的字符写入目标文件中,打开写文件操作的流是ft,因此,此处只能填写ft。 首页 1 2 3 尾页
相关资料
|