C++ 在c+中写入文本文件的开头+;

C++ 在c+中写入文本文件的开头+;,c++,io,ofstream,C++,Io,Ofstream,我在寻找一种简单的方法,将内容写入已经存在的文本文件的第一行。我试着像这样使用流: ofstream textFileWriter("Data/...txt"); if (textFileWriter.is_open()) { textFileWriter << "HEADER: stuffstuff"; } 流textFileWriter(“Data/…txt”)的; if(textFileWriter.is_open()) { textFileWriter您不能简单地“

我在寻找一种简单的方法,将内容写入已经存在的文本文件的第一行。我试着像这样使用流:

ofstream textFileWriter("Data/...txt");
if (textFileWriter.is_open())
{
    textFileWriter << "HEADER: stuffstuff";
}
流textFileWriter(“Data/…txt”)的
;
if(textFileWriter.is_open())
{
textFileWriter您不能简单地“附加”到文件的开头

常见的解决方案是打开一个新(临时)文件,写入新的头文件,将原始文件的其余部分写入临时文件,然后将临时文件“重命名”(使用操作系统调用)为原始文件


或者,正如您在问题中所说,将原始文件读入内存缓冲区(例如向量)然后在缓冲区中进行修改,然后将缓冲区写入文件。

这不是一个简单的方法。文件中没有插入操作。您必须写入一个新文件,首先写入新的第一行,然后复制原始行。您可以使用“prepend file”搜索stackoverflow以查找多个类似的建议,这太糟糕了。但是谢谢你,至少现在我不会再浪费时间寻找另一个解决方案了=)