【发布时间】:2012-11-26 20:54:14
【问题描述】:
我有一个要写入的文本文件。我想始终保留文件内容。我想在“FIFO”之后写(最后写总是在文件的第一行)。
我尝试使用 fout.open("filename"); 和 ate 模式来保留文件内容,然后使用 seekg(0) 尝试将光标收回到文件的开头。没用。
我发现这样做的独特方法我认为它非常耗时,将所有文件内容复制到一个临时文件中。写我想写,然后在目标文件末尾写临时文件的内容。
这个操作一定有简单的方法吗?
【问题讨论】:
-
创建一个临时文件。将您的新内容写入其中。然后将旧内容复制到新的临时文件中。最后,删除旧文件,将临时文件重命名为原名。
-
@uselpa 这不正是 OP 所说的他们现在正在做的事情吗?
-
您不能在物理上附加到末尾,但在逻辑上将其视为附加在顶部(基本上您附加到末尾但“向后读取”)
-
@Blorgbeard - 我的理解是他写了两次文件,我建议只写一次。
-
对不起,戴夫,我恐怕做不到