Posted on 2008-08-18 19:10
Prayer 閱讀(901)
評論(0) 編輯 收藏 引用 所屬分類:
C/C++
feof()的實現(xiàn)與平臺有關。
在stdio.h中feof的定義:
#define _IOEOF 0x0010
#define feof(_stream) ((_stream)->_flag & _IOEOF)
由此可知,只有當fp->_flag & 0x0010為真時,才認為文件結束了。在VC里,只有當file position indicator(在Windows上是fp->_ptr)到了文件末尾,然后再發(fā)生讀/寫操作時,fp->_flag才會被置為含有_IOEOF,然后再調用feof(),才會得到文件結束的信息。并不是file position indicator一指到文件尾,feof()就認為文件結束。