C 二级 调用函数fun将指定源文件中的内容 复制到指定的目标文件中, 复制成功时函数返回值为1, 失败时返回值为0。 在复制的过程中,把复制的内容 输出到终端屏幕。

给定程序的功能是:
调用函数fun将指定源文件中的内容
复制到指定的目标文件中,
复制成功时函数返回值为1,
失败时返回值为0。
在复制的过程中,把复制的内容
输出到终端屏幕。
主函数中源文件名放在变量sfname中,
目标文件名放在变量tfname中。
请在程序的下划线处填入正确的内容并把下划线删除,
使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
【解题思路】
第一空:将指定源文件中的内容复制到指定的目标文件中,
源文件只需读,因此以只读方式打开即可,
故第一空处应该是“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);”。
#include <stdio.h>
#include <stdlib.h>
int fun(char *source, char *target)
{FILE *fs,*ft; char ch;
/**********found**********/
   if((fs=fopen(source, "r"))==NULL)
      return 0;
   if((ft=fopen(target, "w"))==NULL)
      return 0;
   printf("\nThe data in file :\n");
   ch=fgetc(fs);
/**********found**********/
   while(!feof(fs))
   {putchar(ch);
/**********found**********/
      fputc(ch,ft);
      ch=fgetc(fs);
   }
   fclose(fs); fclose(ft);
   printf("\n\n");
   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("\n\n");
    if (fun(sfname, tfname) )
       printf("Succeed!");
    else 
       printf("Fail!");
}
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值