我想读取一个文件中某段byte,用Seek来定位。
TRY
{
CFile file(path, CFile::modeCreate | CFile::modeWrite );//打开文件
LONG lOffset = 5, lActual;
lActual = file.Seek( lOffset, CFile::begin );//从第5个byte读
char buffer[1000];
file.Read(buffer,1000);
}
CATCH( CFileException, e )
{
AfxMessageBox("打开文件出错!"); 
}
file.Read后跑到CATCH里去了

解决方案 »

  1.   

    用CStdioFile 他是cfile派生的
    可以逐行读文件
    CStdioFile f;
    CString temp;
    if( !f.Open( FileName,CFile::modeRead) )
    {
    return false;
    }
    f.Seek( lOffset, CFile::begin );//从第5个byte读

    f.ReadString(temp);
      

  2.   

    TO : leonwu1981 (精童欲女) 
    ===================================
    CFile::modeCreate | CFile::modeWrite 看着象创建文件呀?打开文件用 CFile::modeRead
      

  3.   

    CFile file(path, CFile::modeCreate | CFile::modeRead | CFile::modeWrite );
      

  4.   

    晕,CFile参数错了,代码是
    CFile file(path, CFile::modeRead);
    LONG lOffset = 5, lActual;
    lActual = file.Seek( lOffset, CFile::begin );
    char buffer[1000];
    file.Read(buffer,1000);
    现在的问题是buffer里怎么没内容?