现在用MFC做一个基于GPRS技术的无线数据采集系统,主要负责接收发来的信息。   每50ms发来一次信息我要进行存储,文件包头定义了发来的序号,有个问题:   它发来时可能不是顺序的,比如可能先收到第4次发送的信息,后接到第三次发来的信息。  
我想读文件的时候能够顺序读取,希望大侠教教怎么在写文件的时候能够顺序写进去,或者其他办法,麻烦各位啦
  
         

解决方案 »

  1.   

    如果每包大小均固定,则可以先CFile::SetLength,再Seek到不同的位置插入对应的包内容
    如果每包大小不固定,可以先缓冲排序再写入
      

  2.   

    我一个包是350个字节,是固定的大小;
    帮我看看我的代码对不对;因为是每收到一次就写一次,所以我想预先写到指定位置
     
    CFile file;
    int i=0;//i是包头里组序号
    char data[1000];
    file.Open("savefile",CFile::modeCreate|CFile::modeReadWrite);
    file.seek(351*i,CFile::begin);
    file.Write(data,1000);这么写总是读不出来,读出来是空的帮我分析分析
      

  3.   


    你得先SetLength啊还有,Seek应该是350*i,Write应该是Write(data,350)