sizeof(pInfo)等于4,因为pInfo是一个指针。
应该这么写:
MyFile.Write( pInfo, sizeof(Info) * nNum )

解决方案 »

  1.   

    Lansie:
    Hyzx2000已经正确的解决了你的问题,为什么不给他分呢?
    我把我的代码提交给你,证明他的解答是对的!你可以试一下.         int nNum=4;
    Info *pInfo=new Info[nNum];
    for(int i=0 ;i<nNum;i++)
    {
    pInfo[i].code =10*i+1;
    pInfo[i].high =20*i+2;
    pInfo[i].low =30*i+3;
    }
    try
    {
    CFile pFile ;
    pFile.Open("d:\\read.txt",CFile::modeReadWrite);
    pFile.Write (pInfo,sizeof(Info)*nNum);
    pFile.Flush ();
    pFile.SeekToBegin ();

    memset(pInfo,0,sizeof(Info)*nNum);
    pFile.Read (pInfo,sizeof(Info)*nNum);
    pFile.Close() ;

    }
    catch(CFileException *e)
    {
    e->ReportError ();
    e->Delete ();
    }