1

デフォルトでは、STDOUT はバッファリングされていませんか? そうでない場合、デフォルトのバッファリングのタイプは何ですか

ありがとう

4

2 に答える 2

5

言語は指定しませんでしたが、C の stdio 関数 (fopen()など) またはこれらを使用する言語を使用していると仮定します (ほとんどの場合、移植性の理由から使用します)。

基礎となる C ランタイム ライブラリに依存します。

ほとんどのライブラリは、STDOUT が端末に接続されているかどうかを検出し、接続されている場合はバッファリングを回避し、接続されていない場合はブロック バッファリングを実行します (たとえば、私の Linux システムは一度に 8Kb をバッファリングします)。

于 2010-12-29T07:08:15.050 に答える
1

簡単な回答: デフォルトでは、STDOUT は通常バッファリングされません。これが問題である場合はありますが、必要fflush(stdout);になることはめったにありません

于 2010-12-29T07:11:44.590 に答える