给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。 请在程序

admin2017-11-27  20

问题   给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANK1.C中。
  不得增行或删行,也不得更改程序的结构!
#include
#include
int fun(char *source, char
*target)
{FILE *fs,*ft; char ch;
/********found* *********/
if ((fs=fopen(source,【1】))
==NULL)
return 0;
if ((ft=fopen(target,"w"))==NULL
)
return 0;
printf ("\nThe data in
file :\n");
ch=fgetc(fs);
/*********found**********/
while (! feof (【2】) )
{ putchar(ch);
/********** found* *********/
fputc (ch,【3】) ;
ch=fgetc(fs);
}
fclose(fs); fclose(ft);
printf("\n\n");
return 1;
}
main ()
{ char sfname[20] ="myfilel",
tfname[20]="myfile2";
FILE *myf; int i; char c;
myf=fopen(sfname,"w");
printf("\nThe                  original
data  :\n");
for(i=l;   i<30;   i++)
{ c=’A’+rand() %25;
fprintf(myf, "%c",c);
printf ("%c",c);}
fclose (myf) ,-printf ("\n\n");
if(fun(sfname, tfname))
printf ("Succeed!");
else printf("Fail!");
}

选项

答案(1)"r" (2)fs (3)ft

解析 第一空:将指定源文件中的内容复制到指定的目标文件中,源文件只需读,因此,以只读方式打开即可,故第一空处应该是“if((fs=fopen(source,"r"))=NULL)”。
    第二空:“while(!feof(【2】))”循环的目的是不断读取源文件直至到达源文件的末尾,循环结束标志是己达到文件的末尾。用feof()函数来检查是否已经到了文件末尾,文件状态检测函数feof()的调用形式是:feof(fs),如果已经到达文件尾函数返回非零值,否则返回0,故第二空处应该是“while(!feof(fs))”。
    第三空:考察fputc函数的使用方法,fputc函数的调用形式是:fputc(ch,ft),ch是要输出的字符,由“ch=fgetc(fs)”从源文件读到字符ch,然后将ch写到目标文件中,故第三空处应该是“fputc(ch,ft);”。
转载请注明原文地址:https://kaotiyun.com/show/Gnxp777K
0

最新回复(0)