1

次のように、5つのレコードに3行を含むプレーンASCIIテキストファイルを読み取る小さなプログラムを作成しています。

f_name l_name
ID#
int int int int

最初の2行をそれらが属する1D配列に配置することに成功しましたが、一連のintを2D配列に配置するのに問題があります。ソリューションへの私の最も近いアプローチは、次の行を使用することです。

studentScores[row][col] = atoi(input.c_str());

ただし、atoiは最初の数値のみを解析してから、残りの行を破棄します。文字列の各数値を配列の個別の要素に配置する必要があります。stringstreamを使用してみましたが、正しく機能しません。どうやら、私が使用したい関数は、私が使用しているものとは異なるバージョンのstringstreamに含まれています。

この文字列を解析するために何を使用できますか?

4

1 に答える 1

2
#include <string>
#include <sstream>

// ...

int ints[4];
std::string input;
std::getline(stream, input);
std::istringstream(input) >> ints[0] >> ints[1] >> ints[2] >> ints[3];

(簡潔にするためにエラー処理は省略されています。)

于 2012-04-12T19:33:58.360 に答える