0

sstream を使用して 3 つの数字の文字列を読み込もうとしていますが、印刷しようとすると、4 つの数字で間違った出力が得られます。

コード:

#include <iostream>
#include <sstream>

using namespace std;

int main() {
    string a("1 2 3");

    istringstream my_stream(a);

    int n;

    while(my_stream) {
        my_stream >> n;
        cout << n << "\n";
    }
}

出力:

1
2
3
3

入力文字列の 3 つの数値と比較して、出力に 4 つの数値が表示されるのはなぜですか?

4

2 に答える 2