【发布时间】:2011-03-30 13:40:48
【问题描述】:
我知道这是asked once,但我不明白答案。
假设我有一个这样的文件:
Guest list:
jon
mary
paul
luke
Table list:
然后,例如,我想更改客人的姓名。我知道我需要搜索字符串“Guest list”,然后覆盖“Guest list”和“Table list”之间的所有内容。但我不知道该怎么做。
我正在使用 C++,我更喜欢使用 fstream :D
谢谢!
编辑:
似乎对于相对较小的文件,编写一个全新的文件是最好的方法。我可能会将这种方法用于我现在想做的事情。但我仍然对如何处理需要更新大文件的情况非常感兴趣。
【问题讨论】:
-
你能链接到你不明白的答案吗?另外,你能把你的整个文件加载到内存中吗?还是有那么大?
-
我不会费心尝试更新文件的某些部分 - 只需读入全部内容并再次写出全部内容。更新部分文本文件太容易出错且乏味。
-
@Space 是这个问题:stackoverflow.com/questions/2530274/… 我明白了一般要做的事情,但我不知道如何跳到不同的行。是的,我可以将整个文件加载到内存中。 @trojanfoe 完全覆盖文件,你的意思是?