C では、標準出力ストリーム (std::cout) がバッファリングされます。実際の出力デバイスに送信する前にデータを蓄積します。この動作により、std::cout が何も表示されないという予期せぬ状況が発生する可能性があります。
データがすぐに表示されるようにするには、ストリームをフラッシュすることが不可欠です。それに書き込んだ後。これは、改行文字の出力とストリームのフラッシュの両方を行う std::endl ストリーム マニピュレータを使用して実現できます。
std::cout << "Hello" << std::endl;
または、std::flush ストリーム マニピュレータを使用して、ストリームをフラッシュすることもできます。追加の文字を出力しています。
std::cout << "Hello"; std::cout.flush();
場合フラッシュしても問題は解決されません。ストリームのステータスをチェックして、ストリームが動作しているかどうかを判断できます。この目的には、次のようないくつかのメンバー関数が使用できます。
検討してください次のプログラム:
#includeint main() { std::cout << "Hello" << std::endl; return 0; }
プログラムを実行すると、「Hello」が表示されます。期待通りに表示されました。ただし、std::endl フラッシュが削除された場合、プログラムが終了するまで出力が表示されない可能性があります。
以上が`std::cout` が印刷されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。