1. ホーム
  2. c++

[解決済み] c++のiostreamヘッダのcout, cerr, clogの違いは何ですか?また、どのような場合に使用するのでしょうか?

2022-09-09 20:20:18

質問

の違いについて調べてみたのですが cout , cerrclog をネットで調べてみましたが、完璧な答えは見つかりませんでした。いつどちらを使うのか、まだはっきりしません。どなたか、簡単なプログラムを通して、いつどれを使えばいいのか、完璧な状況を示して説明していただけませんか?

私は このサイト で小さなプログラムを表示しています。 cerrclog を使って出力することができます。 cout . というわけで、それぞれの正確な使い方がわからず困っています。

どのように解決するのですか?

stdout そして stderr は、デフォルトではどちらもコンソール出力を参照しているにもかかわらず、異なるストリームです。どちらかをリダイレクト(パイプ)することで、(例えば program.exe >out.txt のように)一方をリダイレクト(配管)しても、もう一方には影響しないでしょう。

一般的には stdout は実際のプログラム出力に使われるべきで、 すべての情報やエラーメッセージは stderr に出力すべきです。これにより、ユーザが出力をファイルにリダイレクトした場合でも、情報メッセージは出力ファイルではなく、画面に出力されます。