下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!

程序如下:

#include    <stdio.h>
#include <stdlib.h>
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;
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!");
}


做完再看答案~~





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

【分析】本题考查:打开文件操作,fpe函数用来打开一个文件,其一般形式为文件指针名=fpen(文件名,使用文件方式);";文件结束检测函数feo数;写字符函数fputc,功能是把一个字符写入指定的文件中,函数调用的刑式为"印ut字符量,文件指针);"其中,待写入的字符量可以是字符常量或变量,被写入的文件可以用写、读写、追加方式打开。文件一旦使用完毕,需使用关闭文件函数flse将件关闭,以避免文件的数据丢失等错误

【解题思路】

埴空1:本题考查对文件操作的掌握。打开一个文件的调用方式是,f= fopen(文件名,使用文件方式),以只读的方式打开文件,所以文件打开方式为"r"

填空2:whie循环语句中,循环条件通过o函数来检是否到文件结尾。

填空3:印utc函数用于将一个字符写到磁盘文件上去,调用形式为:印uc(要输出的字符,文件指针)


【程序运行】

填空题:文件操作_文件名

【运行过程】

填空题:文件操作_源文件_02