feof()的實(shí)現(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é)束。
在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é)束。