デフォルトでは、STDOUT はバッファリングされていませんか? そうでない場合、デフォルトのバッファリングのタイプは何ですか
ありがとう
言語は指定しませんでしたが、C の stdio 関数 (fopen()
など) またはこれらを使用する言語を使用していると仮定します (ほとんどの場合、移植性の理由から使用します)。
基礎となる C ランタイム ライブラリに依存します。
ほとんどのライブラリは、STDOUT が端末に接続されているかどうかを検出し、接続されている場合はバッファリングを回避し、接続されていない場合はブロック バッファリングを実行します (たとえば、私の Linux システムは一度に 8Kb をバッファリングします)。
簡単な回答: デフォルトでは、STDOUT は通常バッファリングされません。これが問題である場合はありますが、必要fflush(stdout);
になることはめったにありません