将数据从c ++写入csv

时间:2014-01-21 16:41:12

标签: c++ csv

我是c ++编程的新手。我想将一些数据写入csv文件。 这是我的代码尝试这样做,但它只在列中写入1个变量(填充) 而不是另一个(年)。

#include <fstream>
#include <iostream>
#include <math.h>

using namespace std;

int main()
{

    / data generation/

ofstream USPopulation;
USPopulation.open("D:\\2.csv");
USPopulation << "Population,Year" << endl;
int year = 1790;
for (int index = 0; index < count; index++)
{
    USPopulation << population[index], year;  / this only writes the population values /
    USPopulation << endl;
    year += 1;
}

USPopulation.close();
return 0;
}

有人可以告诉我为什么它只是写人口价值而不是文件年数? 谢谢!

3 个答案:

答案 0 :(得分:5)

您正在使用comma operator

USPopulation << population[index], year;
//                               ^

效果是评估

USPopulation << population[index]

并丢弃结果,然后评估并返回

year

所以,你需要像

这样的东西
USPopulation << population[index] << "," << year;

假设您希望分隔符为单个,

答案 1 :(得分:3)

应该是:

USPopulation << population[index] << "," << year;

编辑:偶然使用comma operator(这里更好的是它不是运营商,让您了解这一点:)):< / p>

  

在C和C ++编程语言中,逗号运算符(由标记表示)是一个二元运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回该值(和类型)。

答案 2 :(得分:0)

为什么你不像这段代码一样使用它?

USPopulation << population[index] << ", " << year;