我知道這個話題已經討論了很多,但我仍然沒有真正瞭解它。誠然我是很新的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.
我在做什麼,我不應該在這裏?
任何幫助將是偉大的!謝謝