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

admin2015-12-23  8

问题 给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
#incll3de
#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)
    Eeturn 0;
  print:f("\nThe data in file:\n");
  ch=fgetc(fs);
/**********found**********/
  while(!feof(___2___ ))
  {put:char(ch);
/**********found**********/
    fputc(ch,___3___);
    ch=fgetc(fs);
}
  fclose(fs); fclose(ft);
  printf("\nkn");
  return 1;
}
main()
{  char sfname[20]:"myfile1",
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("\nkn");
  if(fun(sfname,tfname))
    printf("Succeed!");
  else printf("Fai1!");
}

选项

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

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

相关试题推荐
最新回复(0)