ホームページ >バックエンド開発 >C++ >C の `std::cout` で出力を強制的にフラッシュするにはどうすればよいですか?

C の `std::cout` で出力を強制的にフラッシュするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 03:33:30238ブラウズ

How to Force Flush Output in C  's `std::cout`?

std::cout 出力の強制フラッシュ

この問題は、std::cout のバッファがすぐにフラッシュされず、出力が画面上では遅れます。この問題に対処するための戦略をいくつか示します。

std::flush の使用

最も簡単な解決策は、目的の出力行の後に std::flush を挿入することです。これにより、次のステートメントが実行される前にバッファーが確実にフラッシュされます。

<code class="cpp">std::cout << "Beginning computations..." << std::flush;</code>

std::endl の使用

別のオプションは、ステートメントの後に std::endl を使用することです。出力ライン。これにより、暗黙的にバッファがフラッシュされ、改行文字も追加されます。

<code class="cpp">std::cout << "Beginning computations..." << std::endl;</code>

I/O マニピュレータで std::flush を使用する

I/O を使用している場合std::setw や std::setprecision などのマニピュレータを使用すると、マニピュレータの呼び出し後に std::flush を使用してバッファを強制的にフラッシュできます。

<code class="cpp">std::cout << "Beginning computations..." << std::setw(20) << std::flush;</code>

代替印刷方法

場合によっては、別の印刷方法を使用すると、より即時に出力が得られることがあります。標準出力ストリームに出力するには、C 標準ライブラリ

  • fprintf
  • printf を使用することを検討してください
  • std::cerr (バッファリングされていないエラー出力
)

以上がC の `std::cout` で出力を強制的にフラッシュするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。