C ++附加到第二行文件

时间:2015-08-27 17:24:32

标签: c++ csv text io

我想在第二行的简单csv文件中添加条目。第一行包含我的列标题,最新的条目必须在顶部 我的想法是先阅读第一行直到' \ n'然后移到下一行并写在那里,但我不知道这是否是最有效的解决方案。有人可以提供一个例子吗?

1 个答案:

答案 0 :(得分:1)

由于您已在评论中声明此文件不会很大,我建议您将标题读入某种容器中。然后在标题后面插入需要插入文件的最新数据。然后读入文件的其余部分。执行此操作后,您可以将容器的内容写回文件。这是一个简单的演示:

std::ifstream fin("somefilename");
std::vector<std::string> file;
file.reserve(30); // grow the capacity to save on allocations
std::string reader;

std::string new_data = "some new data";
getline(fin, reader);
file.push_back(reader);  //add header
file.push_back(new_data);  // add new line

while(getline(fin, reader))  // get rest of file
    file.push_back(reader);

std::ofstream fout("somefilename");
for (const auto & e : file)
    fout << e << "\n";