如何在 C++ 中的 .txt 文件开头插入字符串

How do you insert a string at the beginning of a .txt file in C++

我想在 txt 文件的顶部插入一行而不删除整个文件,是否有函数或库可以帮助完成此操作?我正在使用 fsream 库,但无法插入,只能使用 fstream 的 ios::app 功能追加。

您不能在文件开头插入数据。您需要将整个文件读入内存,在开头插入数据,然后将整个文件写回磁盘。 (我假设文件不是太大)。

试试这个程序。

#include <fstream>
#include <sstream>

int main()
{
    std::stringstream stream;
    stream << "First line\n"; // Add your line here!

    {
        std::ifstream file("filename.txt");
        stream << file.rdbuf();
    }

    std::fstream new_file("filename.txt", std::ios::out); 
    new_file << stream.rdbuf();

    return 0;
}