我认为这应该很简单,但我的谷歌搜索没有帮助到我... 我需要在C++中写入一个已存在的文件,但不一定要写在文件末尾。
我知道当我只想将文本附加到文件时,我可以在调用流对象的open
时传递标志ios:app
。然而,这仅允许我写入文件的末尾,而不是其中间的位置。
我编写了一个简短的程序来说明这个问题:
#include <iostream>
#include <fstream>
using namespace std;
int main () {
string path = "../test.csv";
fstream file;
file.open(path); // ios::in and ios::out by default
const int rows = 100;
for (int i = 0; i < rows; i++) {
file << i << "\n";
}
string line;
while (getline(file, line)) {
cout << "line: " << line << endl; // here I would like to append more text to certain rows
}
file.close();
}