該宏定義在stdio.h中,從數值角度看,就是-1
#define EOF (-1)
在Linux系統之中,EOF根本不是一個字符,而是當系統讀取到文件結尾,所返回的一個信號值(也就是-1)。
一般C在讀取數據時,都是按流模式進行數據讀操作,這裏的流可以是文件,也可以是標準輸入。即:EOF可以表示文件結尾,還可以表示標準輸入的結尾。
但是,標準輸入與文件不一樣,無法事先知道輸入的長度,必須手動輸入一個字符,表示到達EOF。
Linux中,在新的一行的開頭,按下Ctrl-D,就代表EOF
Windows中,在新的一行的開頭,按下Ctrl-Z,就表示EOF。
源地址:http://zhidao.baidu.com/question/403000652.html