我有由數千個浮點值的數據文件,我想將它們讀入一個二維矢量陣列和載體傳遞到另一個例程一旦它從存儲的彩車文件。當我運行這個代碼時,它會打印出來;閱讀文本文件導入++二維矢量用C
[0] [0] = 0,[0] [1] = 0,等等
數據文件中包含的值喜歡;
0.000579,27.560021等
int rows = 1000;
int cols = 2;
vector<vector<float>> dataVec(rows,vector<float>(cols));
ifstream in;
in.open("Data.txt");
for(int i = 0; i < rows; i++){
for(int j = 0; j < 2; j++){
in >> dataVec[i][j];
cout << "[ " << i << "][ " << j << "] = " << dataVec[i][j] << endl;
}
}
in.close();
是否文件實際上包含逗號像你這樣的表現,抑或是純粹的空白分割?如果它包含逗號,那麼你也需要提取這些逗號。 – ildjarn
這樣做的原因可能是該值是cout'的'默認精度太小。添加包括的'',並改變輸出線如下:'COUT << 「[」 <<我<< 「] [」 <<Ĵ<< 「] =」 << setprecision(10)<< dataVec [i] [j] << ENDL;' –
dasblinkenlight
在數據文件中沒有逗號,只是由空格隔開。 setprecision沒有工作,但這是一個好主意。 – bunduru