std::cout << "hello"うまくいかない状況はありますか?私は ac/c++ コードを持ってstd::coutいますが、定数文字列 ("hello" など) でさえ何も出力しません。
coutストリームを開くことができるかどうかを確認する方法はありますか? good()、 、 ...のようなメンバ関数がいくつかありますがbad()、どれが自分に適しているかわかりません。
必ずストリームをフラッシュしてください。これが必要なのは、出力ストリームがバッファリングされ、自分で手動でフラッシュしない限り、バッファがいつフラッシュされるか保証されないためです。
std::cout << "Hello" << std::endl;
std::endl改行を出力し、ストリームをフラッシュします。または、単にフラッシュを行いますstd::flush。フラッシュは、ストリームのメンバー関数を使用して行うこともできます。
std::cout.flush();
std::coutバッファリングが原因で機能しない可能性があります(書いているものは、出力ではなくバッファになりstd::coutます)。
次のいずれかを実行できます。
std::cout明示的にフラッシュ:
std::cout << "test" << std::flush; // std::flush is in <iostream>
std::cout << "test";
std::cout.flush(); // explicitly flush here
std::cout << "test" << std::endl; // endl sends newline char(s) and then flushes
代わりに使用std::cerrします。std::cerrはバッファリングされませんが、別のストリームを使用します (つまり、「コンソールでメッセージを表示する」以上のことに関心がある場合、2 番目の解決策は機能しない可能性があります)。