为什么只有第一行打印在csv文件中?

时间:2018-02-07 01:16:25

标签: c++ csv

使用下面的代码输出打印如下:

1     20
3     21
4     45
5     55 

这是正确的, 但是,在csv文件中打印时,即使在csv文件中打印和写入的代码位于相同的括号内(相同位置),它也会像下面这样打印(

1     20

表示只打印第一行。为什么不打印csv文件中剩余的其他行?打印输出和在c ++中的csv文件中写入输出有什么区别吗?

这是代码块:

ofstream outfile;
double average = (((double) total) / num);
cout << lFraction << " , " << arraySize << " " << average << endl;
outfile.open("results1.csv");
outfile << arraySize << " , " << average << endl ;
outfile.close();

1 个答案:

答案 0 :(得分:1)

每次打开删除文件现有内容的文件时。

您有两种选择:

  • 打开文件一次,写下 all 结果,然后关闭它。
  • 使用app结束标记,以便不删除文件内容并在最后写入新数据:outfile.open("results1.csv", ios::app);

建议使用第一个选项,因为不断打开和关闭同一个文件会浪费时间。