彼の答え、特にリンクされたIdeoneの例では、@Nawazはのバッファオブジェクトを変更して他のcout何かに書き込む方法を示しています。これにより、それを利用して、からの入力を準備することを考えcinましたstreambuf。
#include <iostream>
#include <sstream>
using namespace std;
int main(){
streambuf *coutbuf = cout.rdbuf(cin.rdbuf());
cout << "this goes to the input stream" << endl;
string s;
cin >> s;
cout.rdbuf(coutbuf);
cout << "after cour.rdbuf : " << s;
return 0;
}
しかし、これは期待どおりに機能しません。つまり、失敗します。:| cin提供されたから読み取るのではなく、ユーザー入力を期待しますstreambuf。これを機能させる方法はありますか?