大人になっても苦手な食べ物、ありますか?

こんにちわ。
どうも初歩的な質問だと思うのですが、教えてください。

C++で、cerrとcoutの違いは何なのでしょうか?
どちらも同じように出力できますし。
自分でエラー表示を出力させたいような時にcerrを使えばよいのでしょうか?

使い分ける必要がいまいち分かりません。
お暇なときにでもお願いします。

A 回答 (3件)

cerr:標準エラー出力 =C言語では stderr


cout:標準出力 =C言語では stdout

どちらもコンソールへの出力ですが、違いはハンドルが違うことです。
このため、リダイレクトやパイプのやり方が変わります。
http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/st …

この違いを利用すると、通常の出力を標準出力に出力しエラーのみエラー出力に
しておくことで、リダイレクトやパイプを利用しているときでも、エラーは
コンソールに出力されるので便利になります。

尚、Windows系では、標準エラー出力へのリダイレクトは
abc 2> route.txt
のような書式になります。(#2さんの書式はWindows系では使えません)
http://www.monyo.com/technical/windows/04.html

参考URL:http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/stdinout.html,http://www.monyo.com/technical/windows/04.html
    • good
    • 3
この回答へのお礼

回答ありがとうございます。

どちらもコンソールへの出力だったので、迷っていたのです。
windowsでは使いませんが、参考になりました、本当にありがとうございました。

お礼日時:2003/10/13 05:52

coutは標準出力、cerrは標準エラー出力です。

通常はどちらも出力デバイスとしてコンソールに出ますが、別のデバイスにリダイレクトしたり、パイプするときにはその指定方法が異なります。

cout(標準出力)    hoge > result.txt
cerr(標準エラー出力) hoge >& error.txt
など。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

リダイレクトの時に効果を発揮するのですね。。
早速やってみます^^
ありがとうございました

お礼日時:2003/10/13 05:51

むかしのことでよく覚えていないのですが、



testprog.exe >out.txt

としたとき、
cout は out.txt に出力され、
cerr は コンソールに出力され
ていたようにおもいます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A