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