的开始我有一个文件,它是像C++写入字符串文件
这是第1行
这是第2行
和我有一个字符串This is line 0
。我如何写这个字符串转换成文件,使文件的内容的开头现在:
这是行0
这是1号线
这是2号线
我现在有
ifstream myfile("lunch.txt");
myfile.seekg(0,ios::beg);
myfile << "This is line 0";
但它不是一个工作预计。
的开始我有一个文件,它是像C++写入字符串文件
这是第1行
这是第2行
和我有一个字符串This is line 0
。我如何写这个字符串转换成文件,使文件的内容的开头现在:
这是行0
这是1号线
这是2号线
我现在有
ifstream myfile("lunch.txt");
myfile.seekg(0,ios::beg);
myfile << "This is line 0";
但它不是一个工作预计。
无法写入std::ifstream
(即输入)。更改您的代码以使用std::ofstream
写输出:
ofstream myfile("lunch.txt");
// ^^^^^^^^
// myfile.seekg(0,ios::beg); <<< this code isn't necessary
myfile << "This is line 0";
为了解决有关文件中的现有内容之前插入,你第一次读你的问题,同时节省例如内容一个std::vector<std::string> lines;
。然后再次打开文件,写入第一行,并跟随lines
中保存的值。
您无法插入文件的开头,并且现有内容会自动移动。
最好的办法是打开一个新文件并写下“这是第0行”,然后复制现有文件的内容。
因为您需要移动其余部分以适合新行。 – 2014-12-13 10:13:13