【发布时间】:2013-07-30 10:34:22
【问题描述】:
我一直在寻找一种简单的方法来将内容写入现有文本文件的第一行。我尝试像这样使用 ofstream:
ofstream textFileWriter("Data/...txt");
if (textFileWriter.is_open())
{
textFileWriter << "HEADER: stuffstuff";
}
但它会删除该文件中曾经存在的所有内容,即使 ofstream 不是用 std::ofstream::trunc 构造的。我不能使用 std::ofstream::app,因为写入第一行很重要。
将整个文本文件复制到一个已经包含该行的向量中,然后将其写回是我的最后一个选择,但我真的想避免这种情况,因为文本文件非常大。
【问题讨论】:
-
没有简单的方法可以做到这一点。文件中没有 insert 操作。您必须编写一个新文件,首先编写新的第一行,然后复制原始文件。
-
您可以使用“前置文件”搜索 stackoverflow 以找到多个建议,例如 this