请问这种情况是正常的吗,如何解决???偶是菜鸟,分数不够,请见谅!!
文件映射例程如下,其它例程中用lpData或加上偏移读数据的不同部分,结果缺只能读出其中前面一部分数据,实在难解,跪求大虾指点:
bool LDHandle::OpenLDHandle (const std::string filename)
{
       m_hFile=CreateFile(filename.c_str (),GENERIC_READ,FILE_SHARE_READ,
 NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
       if(m_hFile==INVALID_HANDLE_VALUE)
       {
 throw exception("do not open Ld2 file");
        }
       m_hFileMap=CreateFileMapping(m_hFile,NULL,PAGE_READONLY,0,0,NULL);
       if(m_hFileMap==INVALID_HANDLE_VALUE)
       {
  CloseHandle(m_hFile);
  throw exception("file maping error");
        }
        //映射到整个文件
       lpMemory=(BYTE*)MapViewOfFile(m_hFileMap,FILE_MAP_READ,0,0,0);
       if(lpMemory==NULL)
       {
  CloseHandle(m_hFileMap);
  CloseHandle(m_hFile);
  throw exception("MapViewOfFile error");
        }
//lpData指向数据区,LDHEADER是文件头结构
       lpData=reinterpret_cast<WORD*>(lpMemory+sizeof(LDHEADER));       return true;
}