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