EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。
#define EOF (-1)
除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF
我理解你应该是想判断一个文件是否结束,那个EFO是EOF吧,下面的代码也许能帮到你#include <stdio.h>
int main(void)
{
FILE *stream
stream = fopen("f:\\a.txt", "r")
char ch=fgetc(stream)
while (ch!=EOF) //也可以改为:while(!feof(stream))
{
putchar(ch)
ch=fgetc(stream)
}
fclose(stream)
return 0
}
如果是文本,一般文本文件的结尾是以ascii码25表示的,你读到这个字符,也可以认为文本文件结束了.
eof函数查看最后一次读文件是否为文件的最后一个记录,是,返回非零,否,返回零。eof可以不加括号。
while($line=<FILE>
{
......
if(eof){
......
}
}