1

cout.rdbuf()たとえば、ここで見ました。これcoutは、ストリームにストリーム バッファが関連付けられていることを意味します。ストリーム バッファは、フラッシュする前は空ではありません。

しかし、フラッシュされる前に cout の cout のストリーム バッファを覗くにはどうすればよいでしょうか? いえ

cout << "I want to read this before this get flushed";
cout.UnknownFunction();  //this would save the buffer into a string variable
cout << flush;

しかし、コードの現在の形式では、すべてが最初の行の後に画面にフラッシュされます..

では、cout バッファー内をのぞくことができるのは、どのような構造なのでしょうか?

PS。Windows7でVC++ 2010を実行しています

4

2 に答える 2

0

次のリンクは、このトピックに密接に関連しています C++ buffered stream IO

(しかし、 cout.rdbuf() を文字列に取得する方法/時期はまだわかりません。)

于 2013-03-31T01:37:16.797 に答える
0

これは最初の行の後にフラッシュしないと思いますが、絶対にわかりません。私はそのフラッシュを経験しendlましたが、他の人はそうではありません。キャラクターが多すぎると自動的にフラッシュする可能性がありますが、わかりません. 私は(偶然)次のようなプログラムを作成しました(要するに):

cout << "x";
while (true) {}

プログラムはこれを実行し、出力はデバッグになりますが、何も書いていないので、プログラムはそこに到達しないと思いました...

于 2013-03-30T12:48:38.323 に答える