以下是引用statics在2011-9-8 10:12:53的发言:
在 C语言,或更精确地说成 C标准函式库中表示:文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。
有两点不对:
1.并非只有文本文件才能EOF作为文件结束标志。实际上,EOF通常由fgetc(),fgets(),fread()等函数在文件指针遇到文件尾后返回的,还不是在文件尾含有EOF。
2.说ASCII码值的范围是0~255是把它为无符号字符,如看成有符号字符,就会有-1了,其范围也变成-128~127。