一般你读磁盘上的文件,预先很难知道它有多长,所在一般用循环套着读。但也得知道什么时候停呀?
在 C 库函数里的文件读函数返回宏 EOF 的值时,就表示文件结束了。程序员应该终止循环或者用 fseek 什么的跳到之前的位置再读。
在 C++ 里也有类似的机制。一般是当流的成员函数 eof() 返回 ture 时,表示文件结束了。
不过书上也有好多例子是让程序从标准输入上读取。你可以这么理解,由于标准输入事实上不是真正的文件,没有头。所以它在不停的读的时候不会返回 EOF。但可以用键盘上的组合键 ctrl-z 有的系统是 ctrl-d 来模拟文件结束。
所以凡是你希望要读到文件尾的地方,你就按一下组合键就行了。