为了方便读取最近的记录需要将最后获得的记录写在文件的最前面,这样读取时可以从头开始读取。
1.但我用CFile的SeektoBegin再写进文件时,原先的记录会被替换一部分,而不是插入操作。
2.如果将原先的文件内容读取到内存,再按照 新纪录 -内存原记录的顺序写进去我想是可以解决的,但是内存资源将很浪费。
请各位大虾想想有什么好办法

解决方案 »

  1.   

    以CFile为例:
    CFile file;
    file.Open(....);
    //定位到文件开始
    file.SeekToBegin();
    file.Write(.....);
    file.SeekToEnd();
    file.Close();
      

  2.   

    不好意思,没有看清楚
    可以用
    Seek试试
      

  3.   

    建辅助文件的方法可能要简单一些,可以用ini文件实现:
    [RecordIndex]
    RecordOffset=xxx
    RecordLength=xxx
    直接查这个ini文件里面的RecordIndex即可把某条记录在文件中的起始位置和长度得到