全名是end of file 其实是-1
如保安用对讲机什么的在说完一段话后都要说over
end of file,就是文件末尾,一般都是值-1
下面是linux的源码宏定义:
#define EOF (-1)
EOF表示文件末尾的结束,也可以用-1表示
EOF是end of file的缩写,为C语言定义的一个宏常量,值为-1。
与它有关的,是读取操作,比如从文件中的读取,当系统读取到文件尾的时候,会返回EOF,表明文件已经读取结束,举个例子,比如文本文件中的文本为:
ABCD
就这四个字母,当系统读到D的时候,D会被读入到程序中的变量里,此是还不是文件尾,当程序继续读的时候,由于D后面没有更多的字符了,此时系统会返回EOF表示遇到文件尾了,文件读取指针会停留在D上。通俗地讲,就是告诉程序,没有什么可以读的了。
此外再说明一点,系统是如何知道到达文件尾的,也就是如何知道D后面没有字符了,不是因为D后面跟着一个字符EOF,因为很明显,EOF值为-1,没有表示它的ASCII码,而是因为其他原因,什么原因请阅读有关文献。