本帖最后由 postyourinformation 于 2011-05-14 23:10:26 编辑

解决方案 »

  1.   

      BYTE* fileBuffer = new BYTE[myFileLen];
        myFile.Read(fileBuffer,myFileLen);
        myFile.Close();
        for(int i=0;i<myFileLen;i++)
        {
            fileBuffer[i] ^= key[i%keylen];           
        }
        CFile myFile2(m_FilePath,CFile::modeWrite);
        myFile2.Write(fileBuffer,myFileLen);
        myFile2.Close();
        delete []fileBuffer;
    这期间没有异常退出就不会有内存溢出,检查下其他地方。
      

  2.   

    个人认为应该在  delete []fileBuffer;之后再加一句fileBuffer = NULL;
    应该就没事了吧。