我是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;
}
有人可以告诉我为什么它只是写人口价值而不是文件年数? 谢谢!
答案 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;