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