我知道这个话题已经讨论了很多,但我仍然没有真正了解它。诚然我是很新的C++编码,所以请去容易对我:)将csv读入数组
总之:我有这个examplatory csv文件:
,313,315
91.5919,1.44421,1.74019
91.592,1.44254,1.73816
91.5921,1.43859,1.73336
91.5922,1.43449,1.73109
我需要一个未知的尺寸先验的数组,因为CSV将展开不可预测的 - > x和y方向的动态数组。
这是我设法到目前为止做:
#include <algorithm>
#include <fstream>
#include <iostream>
#include <iterator>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<vector<double> > values;
vector<double> valueline;
ifstream fin("in.csv");
string item;
for (string line; getline(fin, line);)
{
istringstream in(line);
while (getline(in, item, ','))
{
valueline.push_back(atof(item.c_str()));
}
values.push_back(valueline);
valueline.clear();
}
}
这似乎是在做的工作,但如果我尝试输出数组或部分,我得到了奇怪的结果。例如cout < < values [0] [3] < < end1;产量1.63042e-322。值[0] [4]产生91.5919。 sizeof(值[0])也是24.
我在做什么,我不应该在这里?
任何帮助将是伟大的!谢谢