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

admin2013-03-29  16

问题 给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANKl.C中。
    不得增行或删行,也不得更改程序的结构!
#include
#inclucle
int fun(char*soLlrce,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(”kn\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=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 111);
}

选项

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

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

随机试题
最新回复(0)