#include <stdio.h>
#include <stdlib.h>
int fun(char *source, char *target)//声明了source和target函数
{FILE *fs,*ft; char ch;//FILE这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行
/**********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);//从流中读fs字符
/**********found**********/
while(!feof(fs))//循环的目的是不断读取源文件直至到达源文件的末尾,循环结束标志是已达到文件的末尾.(feof()函数来检查是否已经到了文件末尾,文件状态检测函数feof()的调用形式是:feof(fs))。
{putchar(ch);
/**********found**********/
fputc(ch,ft);//fputc函数的使用方法,fputc函数的调用形式是:fputc(ch, ft),ch是要输出的字符,由“ch=fgetc(fs)”从源文件读到字符ch,然后将ch写到目标文件中
ch=fgetc(fs);
}
fclose(fs); fclose(ft);//fclose() 关闭流
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!");
}