feof()的实现

feof()的实现与平台有关。

在stdio.h中feof的定义:

#define _IOEOF 0x0010

#define feof(_stream) ((_stream)->_flag & _IOEOF)

由此可知,只有当fp->_flag & 0x0010为真时,才认为文件结束了。在VC里,只有当file position indicator(在Windows上是fp->_ptr)到了文件末尾,然后再发生读/写操作时,fp->_flag才会被置为含有_IOEOF,然后再调用feof(),才会得到文件结束的信息,并不是file position indicator一指到文件尾,feof()就认为文件结束。

posted @ 2011-10-21 13:21  only_eVonne  阅读(573)  评论(0编辑  收藏  举报