나는 수천 개의 float 값으로 구성된 데이터 파일을 가지고 있으며,이를 2D 벡터 배열로 읽어 들이고 그 벡터를 다른 루틴으로 전달하기를 원한다. 파일. 이 코드를 실행하면 출력됩니다.C++에서 플로트의 텍스트 파일을 2D 벡터로 읽기
[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'의 기본 정밀도에 비해 너무 작을 수 있기 때문입니다. ''의 include를 추가하고, 다음과 같이 출력 라인을 변경하십시오 :''<< "<< i <<"] [ "<< j <<"] = "<< setprecision (10) << dataVec [i] [j] << endl; –
dasblinkenlight
공백으로 구분 된 데이터 파일에는 쉼표가 없습니다. setprecision은 작동하지 않았지만 좋은 생각이었습니다. – bunduru