原型:int feof(FILE *_F)
功能:检测打开的流的“光标”指针是否到达文件末尾。
参数值:指向流的文件指针。
返回值:若到达文件尾部,返回0;否则返回非0值。
例子:
!!!注意,在执行这段代码时先建立文件并写入字符,因为要把这个文件的数据复制到另外一个文件
int main()
//这段代码新建一个文件infile(流in),并将out指向的文件复制到infile
{
FILE *in;
FILE *out;
char ch,infile[100], outfile[100];
printf("please input the file name you want to put something in:\n");
scanf("%s",infile);
if((in=fopen(infile,"w"))==NULL)
{
printf("cannot open this file!!!\n");
exit(0);
}
printf("please input the file name you want to put something out from:\n");
scanf("%s",outfile);
if((out=fopen(outfile,"r"))==NULL)
{
printf("cannot open this file!!!\n");
exit(0);
}
ch=getc(out);//把这一步写到循环外面,写到里面可能有错
//int getc(FILE *_F)<=>int fgetc(FILE*)
while(!feof(out))
{
putc(ch,in);
putchar(ch);
ch=fgetc(out);
}
putchar(10);
fclose(in);
fclose(out);
return 0;
}
[ 暂时不研究的问题] 这个feof函数很值得研究,有论文说它并不是“读取了”非文件结束字符“返回0,读取了文件结束符后返回非0”