例如我想实现:    while(!MyFile.eof())
        MyFile.读一行();    可是我发现CStdioFile和CFile都没有eof()函数.请问如何检测结尾?

解决方案 »

  1.   

    1.是否能继续Read
    2.当前pos是否结束
      

  2.   

    HOWTO: Test for End of File with CFile and CStdioFile Q88769
    --------------------------------------------------------------------------------
    The information in this article applies to:The Microsoft Foundation Classes (MFC), used with:
    Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5, 1.51, 1.52 
    Microsoft Visual C++, 32-bit Editions, versions 1.0, 2.0, 2.1, 2.2, 4.0--------------------------------------------------------------------------------
    SUMMARY
    The Microsoft Foundation Classes (MFC) provide a CFileException class. The CFileException class includes public data members that contain operating- system errors and C Run-time errors that may be generated by certain file operations. MORE INFORMATION
    The CFile and CStdioFile classes may throw a CFileException when certain error conditions occur; however, these classes do not throw a CFileException when the end of file is reached. If an application using the CFile or CStdioFile class needs to check for the end-of-file condition when reading from a file, the return values from the Read() and ReadString() member functions should be checked.CFile::Read returns the actual number of bytes read. If this number is less than the bytes requested, then the end of file has been reached.CStdioFile::ReadString returns a NULL pointer when the end of file has been reached.