標準エラー出力
読み:ひょうじゅんエラーしゅつりょく
外語:STDERR: standard error output

 UNIX系のオペレーティングシステム(OS)やMS-DOSなどにおける標準的なエラー出力先。
目次

概要
 一般的に、デフォルトではコンソール画面である。
 リダイレクトを使えばファイルデバイスなどに、またパイプを使えば他のプログラムの標準入力に、それぞれ出力を向けることができる。

特徴

シェル
 UNIX系のオペレーティングシステム(OS)であれば、例外なく/dev/stderrである。
 MS-DOSでは、ディレクトリは無関係に、ファイル名をSTDERRとすると標準エラー出力デバイスとなる。このため、STDERRという名のファイルやディレクトリは作成できない。
 MS-DOSでは基本的に出力先を変更することができないが、UNIX系OSの場合、次のような例で、出力先をリダイレクトできる。
 command 2> errout (sh系)
 command >& errout (csh系)
 なお、Microsoft WindowsにはSTDERRという特殊なファイルは存在しない。Windowsのコマンド プロンプトで、例えば標準エラー出力を標準出力にリダイレクトしたい場合は、次のようにリダイレクト記号で指定する。
 echo hoge 1>&2

C/C++
 open/close関数で用いるファイルディスクリプターでは、標準エラー出力はデフォルトで2である。UNIXであれば、unistd.hでSTDERR_FILENOがマクロ定義されている。
 fopen/fclose関数で用いるファイルハンドルは、stdio.hでstderrがマクロ定義されている。

再検索