每次迭代时在cpp中写入csv数据

  • 本文关键字:csv 数据 cpp 迭代 c++ csv
  • 更新时间 :
  • 英文 :


我有3列在每次迭代(时钟周期)时更改。我希望将这些列的每个值存储在csv文件中。csv文件为"Positions.csv"。假设我想要存储的变量是:columnna, columnB和columnC变量。我的文件将是空的,在每个循环中,它将被columnna,columnB和columnC值填充。我下面的代码不起作用,在输出文件中我只有一行。

我想在文件的末尾添加columnna,columnB和columnC。在每个循环中,我收到这些变量的不同值。

我需要一种在csv文件中添加行的方法。

double columnA , columnB, columnC;
// LOG START
std::ofstream coordscsv;
std::string filename = "Positions.csv";
coordscsv.open(filename);
//**************
std::ifstream  data("Positions.csv");

std::string line;
while (std::getline(data, line))
{
std::stringstream  lineStream(line);
std::string        cell;
while (std::getline(lineStream, cell, ','))
{
coordscsv << cell;
}
}
coordscsv <<  columnA << ", " << columnB << ", " << columnC << "n";
coordscsv.close();

ifstream的构造函数的默认参数是ios_base::inios_base::app.

但是,无论如何,您不应该在每次迭代中打开和关闭文件。打开它一次,除非你想在关闭它时诊断错误,否则你不需要显式地调用close()(析构函数已经这样做了)。