前提・実現したいこと
csvに入力した数値をdouble型のベクトルへ読み込ませたいです。以下、csvの内容です。(tab区切り)
0.0 0.1 0.2 0.3
1.0 1.1 1.2 1.3
発生している問題・エラーメッセージ
1.0が読み込まれないです。スキップされてそうです。
vector[0][0] = 0 vector[0][1] = 0.1 vector[0][2] = 0.2 vector[0][3] = 0.3 vector[1][0] = 1.1 vector[1][1] = 1.2 vector[1][2] = 1.3 続行するには何かキーを押してください . . .
該当のソースコード
c++
#include <iostream> #include <fstream> #include <vector> #include <string> #include "read_csv.h" using namespace std; int main() { string line; ifstream ifs("../test1.csv"); vector<vector<double> > dbl{ {0.0},{0.0} }; int counter = 0; int column = 0; int row = 0; while (getline(ifs, line,'\t')){ int ex_enter = 0; if (column == 0) { dbl[row][column] = stod(line); column++; } else { dbl[row].resize(column + 1); dbl[row][column] = stod(line); ex_enter = line.find('\n'); if (ex_enter > 0) { //改行のときは>0の値になる row++; column = 0; dbl.resize(row + 1); } else { column++; } } /*++counter; counterで処理のループを調べたが7になっていた cout << counter << endl;*/ } print_vector(dbl); //ベクトルを出力する関数 return 0; }
試したこと
ループ回数を調べたりしました。
どうぞよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/17 13:52
2019/11/17 14:46