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

admin2020-11-27  27

问题 给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANKl.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]="myfile1",
tfname[20]="myfile2";
  FILE *myf;int i;cha c;
  myf=fopen(s fname,"w");
  printf("\nThe original data:\n");
  for(i=1;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/qK3p777K
0

最新回复(0)