CStdioFile ffw;
ffw.Open(toFile,CFile::modeReadWrite | CFile::modeNoInherit | CFile::begin);
//ffw.Seek(0,CFile::begin);   for(int i=0;i<tempArray.GetSize();i++)
{
ffw.WriteString(tempArray.GetAt(i) + '\n');
}
tempArry的内容总是在末尾追加
但想从前面插入,请问正确的方法是?
谢谢解答!

解决方案 »

  1.   

    CStdioFile是基于流缓冲的文件类,一般都是从后面追加,你要想随机访问,最好用CFile
    你需要把文字前面的东西先逐个移动到后面去,然后再写。不过我推荐是创建一个临时文件,然后把要写的东西写进去,再把另外的文件打开,把内容追加上去。然后删除原文件。重命名临时文件。这种方式能够利用磁盘缓冲等,效率高一些。
      

  2.   

    顺序文件只能顺序操作,所以先产生一个临时文件把你的CStringArray的内容先写进去,然后一次读入(只读)你的toFile再写入临时文件,最后把临时文件名改为toFile。
      

  3.   

    ”用CFile,然后SeekToBegin“会把前面的覆盖掉!