C++のstringstreamの詳細を理解しようとしています。しかし、stringstreamオブジェクトを再入力しようとしたときに問題が発生しました( "< <")。 (すなわち、objの内容は同じままです。)私のコードは以下の通りです。出力はコメントに表示されます。C++:再入力stringstreamが機能しないのはなぜですか?内容は同じままです
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
stringstream sso;
cout <<"orginal: " << sso.str() <<endl; //orginal:"empty"
sso << "A" << " " << "B" << " " << "C";
cout <<"flowin:" << sso.str() <<endl; //flowin:A B C
string r1, r2, r3;
sso >> r1 >> r2 >> r3;
cout << "flowout:" << r1 << r2 << r3 << endl;//flowout:ABC
cout << "base: " << sso.str() << endl; //base: A B C
cout << "----problem here-----" << endl;
sso << "D" << " " << "E" << " " << "F";
cout <<"flowin:" << sso.str() <<endl; //flowin:A B C
cout << "----this works-----" << endl;
sso.clear(); //clear flag
sso.str(""); //clear content
sso << "D" << " " << "E" << " " << "F";
cout <<"flowin:" << sso.str() <<endl; //flowin:D E F
return 0;
}
なぜですか?私は "---ここで問題---"の結果を理解していません。なぜssoは新しい入力を受け入れないのですか?
Apprecited、
ありがとうございました。 :) –