计算机二级-C语言-程序填空题-190117记录-对文件的处理,复制两个文件,往新文件中写入数据。

时间:2023-11-10 15:02:56

//给定程序的功能是,调用函数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, "r"))==NULL)
return ;
if((ft=fopen(target, "w"))==NULL)
return ;
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 ;
}
main()
{ char sfname[] ="myfile1",tfname[]="myfile2";
FILE *myf; int i; char c;
myf=fopen(sfname,"w");
printf("\nThe original data :\n");
for(i=; i<; i++){ c='A'+rand()%;fprintf(myf,"%c",c); printf("%c",c); }
fclose(myf);printf("\n\n");
if (fun(sfname, tfname)) printf("Succeed!");
else printf("Fail!");
}