fstream HeadFile(OutFileHead.c_str(),ios::out);
HeadFile.setmode(filebuf::binary);
          
         然后
         DWORD TempOffSet=2;
         HeadFile<<TempOffSet;
         但是在文件中却只有一个字节?
  是不是还需要设置什么地方?

解决方案 »

  1.   

    我要把一个数字
    24161
    存进去
     存入后在文件中居然有5位。
    确实是按字符方式存放的。可是我
    使用了SetMode(Filebuf::binary)函数呀!
    是不是还需要什么设置!?
      

  2.   

    help!
    现在储存的问题解决了
    设置为hex就可以了
    可是读出来又有问题了!
    newHeadFile.seekp(HeadOffset[i],ios::beg);
    dwValue=newHeadFile.tellp();//=17
    newHeadFile>>dwValue;
    dwValue=newHeadFile.tellp();//=25
                       而dwValue是一个DWORD.怎么会读了以后文件指针增加了8呢?
                       在17这个位置本来应该是0的,他却读到了后面的一个24161
    不知道是怎么一回事!
      

  3.   

    HeadFile<<TempOffSet;你可以跟踪一下<<这个操作符他在输出的时候,会把这个dword型转换成字符形
    所以…………
      

  4.   

    帮帮忙看看我的心问题呀!
    newHeadFile.seekp(HeadOffset[i],ios::beg);
    dwValue=newHeadFile.tellp();//=17
    newHeadFile>>dwValue;
    dwValue=newHeadFile.tellp();//=25
                       而dwValue是一个DWORD.怎么会读了以后文件指针增加了8呢?
                       在17这个位置本来应该是0的,他却读到了后面的一个24161
    不知道是怎么一回事!