我有一个文件需要在运行时多次打开。每次将一些文本附加到文件中。这是代码:
ofstream fs;
fs.open(debugfile, fstream::app);
ostream_iterator<double> output(fs, " ");
copy(starting_point.begin(), starting_point.end(), output);
...
fs.open(debugfile, fstream::app);
ostream_iterator<double> output1(fs, " ");
copy(starting_point.begin(), starting_point.end(), output1);
我的问题是我可以使用一个流迭代器&#34;输出&#34;每次我打开文件,例如某种方式来清理它?
由于
答案 0 :(得分:1)
您可以使用以下代码:
ofstream fs;
fs.open(debugfile, fstream::app);
ostream_iterator<double> output(fs, " ");
copy(starting_point.begin(), starting_point.end(), output);
...
fs.open(debugfile, fstream::app);
output = ostream_iterator<double>(fs, " ");
copy(starting_point.begin(), starting_point.end(), output1);
这里使用相同的变量output
来存储迭代器,但是迭代器本身是从头开始创建的,并使用operator =
分配给该变量。
答案 1 :(得分:0)
对我来说,你的问题没有任何关系(appart重新分配价值)。
请不要忘记关闭并清除您的信息流,然后重新打开它:
std::ofstream file("1");
// ...
file.close();
file.clear(); // clear flags
file.open("2");
来自:C++ can I reuse fstream to open and write multiple files?