コード getlineの第二引数はstring型ですよね、 istream& getline (istream& is, string& str); stringstream ss(row); // insert row into a stream ss >> buffer; array[n] = atoi(buffer.c_str()); n++; なぜstringstream(の中にrowをいれて rowからbuffferに送り それをintに直して配列にいれるなんていう作業になるのでしょうか? rowをいきなりint型に直し、配列に入れればいいじゃないかと思ってしまいました。 streamの理解が浅いためだと思いますが、ご指摘よろしくお願いします。 ここからコード int N = 30; int array[N]; // Read file string row, buffer; ifstream my_file ("data.txt"); if (my_file.is_open()) { int n = 0; while ( getline (my_file,row) ) { stringstream ss(row); // insert row into a stream ss >> buffer; array[n] = atoi(buffer.c_str()); n++; } my_file.close(); } else{ cout << "Unable to open file"; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/07 12:26
2015/12/08 09:55