注意:程序中的feof(in)是检查in所指向的文件是否结束。如果是,则函数值为1(真),否则为0(假),
也就是“!feof(in)为真”,在while循环中检查"!feof(in)"为真,就执行循环体。
//将一个磁盘文件中的信息复制到另一个磁盘文件中去,要求将上例建立的f:\FILE_1\file.txt文件中的
//内容复制到另一个磁盘文件f:\FILE_1\file_1.txt文件中。
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定义指向FILE类型文件的指针变量
FILE *in,*out;
char ch,infile[30],outfile[30];
printf("输入读入的文件名:");
scanf("%s",infile);
printf("输入输出的文件的名:");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{
printf("无法打开文件
");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("无法打开此文件
");
exit(0);
}
//如果未遇到输入文件结束标志
while(!feof(in))
{
ch = fgetc(in); //从输入文件读入一个字符,暂放在变量ch中
fputc(ch,out); //将ch写到输出文件中
putchar(ch); //将ch显示到屏幕上
}
putchar(10); //显示完毕后换行
fclose(in);
fclose(out);
return 0;
}