繁体   English   中英

如何在C ++中寻找特定行以将数据追加或追加到最后一行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM