CFile::Read在读取文件时有时候会出错,这没什么,我读取的文件有问题,不能够读取,我想知道的是如何才能够知道文件不能够读取,怎样能够跳过这个错误.

解决方案 »

  1.   

    if (cFile.Open(sFileName, CFile::modeRead | CFile::typeBinary, &e))
    {
    BYTE* pBuff = new BYTE[cFile.GetLength()];

    if (cFile.Read(pBuff, cFile.GetLength()) > 0)
    {
    if (LoadFromBuffer(pBuff, cFile.GetLength()))
    bResult = true;
    }

    delete [] pBuff;
    }
      

  2.   

    try
    {
    CFile
    CFile::Read is here
    }
    catch(CFileException* pe)
    {
    pe->Delete();
    }
      

  3.   

    nod 楼上,是用 exception handle 机制。
    原因很多,比如其他process 独占访问该文件、文件损坏、memory越界等等