如何在 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;
}
我想在 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;
}