我想在vc里面把一个包含多种数据类型的结构写道一个文件中,我想用CFile来做
这个结构假设如下
struct
{
   long lLength;
   int  nStart;
   char zWord[16];
}
请教如何实现?

解决方案 »

  1.   

    偷懒的方法是:struct SMy
    {
       long lLength;
       int  nStart;
       char zWord[16];
    };CFile file;if (!file.Open(strFilename,CFile::modeWrite))
        return false;...
    SMy sVar;
    ...file.Write(&sVar,sizeof(sVar));
    ...file.Close();不过这样容易出问题,因为不同的编译优化设置下sizeof(sVar)长度不一样。这样写比较安全:
    file.Write(&(sVar.lLength),sizeof(sVar.lLength));
    file.Write(&(sVar.nStart),sizeof(sVar.nStart));
    file.Write(&(sVar.zWord),sizeof(sVar.zWord));
      

  2.   

    struct Mystruct
    {
       long lLength;
       int  nStart;
       char zWord[16];
    }Mystruct m;CFile file;
    if(file.Open(strPathName, CFile::modeWrite,NULL))
    {
    file.Write(&m, sizeof(Mystruct));
    file.Close();
    }