各行に2つの数字が含まれているファイルがあります。問題は、2つの数値がスペースで区切られていることですが、スペースは任意の数の空白スペースにすることができます。1つ、2つ、またはそれ以上。行を読み取り、各数値を変数に格納したいのですが、トークン化する方法がわかりません。
i.e
1 5
3 2
5 6
3 4
83 54
23 23
32 88
8 203
各行に2つの数字が含まれているファイルがあります。問題は、2つの数値がスペースで区切られていることですが、スペースは任意の数の空白スペースにすることができます。1つ、2つ、またはそれ以上。行を読み取り、各数値を変数に格納したいのですが、トークン化する方法がわかりません。
i.e
1 5
3 2
5 6
3 4
83 54
23 23
32 88
8 203
各行を読み取り、行の内容をに貼り付けてから、行からstringstream
2つを読み取りますint
。
std::string line;
while (std::getline(myfilestream, line))
{
std::stringstream ss(line);
int i, j;
if (ss >> i >> j)
{
// use i and j
}
}
各行に正確に2つint
のsがあることがわかっている場合(つまり、ソースを絶対に確実に信頼している場合)、ストリームから直接値を読み取ることができます。