[英]how to seek a specific line to append data or append data to last line in c++
在将数据写入文件的迭代中,我想将数据写入不同的行。
看起来像:
0.2 0.3
1 2
0.4 0.5 cursor should be here
现在,我将追加数据:
0.6
3
0.6
所以我需要返回第一行追加0.6
,然后再移至追加3
,然后再移动0.6
。
如何使用C ++做到这一点? 我使用ofstream作为附加模式打开文件,现在我将c ++与stl c ++ 11一起使用。 seekp
似乎只移动字符步而不是行步。 有任何想法吗? 谢谢。
追加模式仅适用于将数据添加到文件的末尾,而不适用于您想要的中间位置。
为此,您几乎需要逐行复制文件,并适当地添加数据,此顺序大致相同:
std::vector<double> additions { 0.6, 3, 0.6 };
std::string line;
for (int i=0; i<3; i++) {
std::getline(infile, line);
outfile << line;
outfile << " " << additions[i];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.