標準エラー出力
読み:ひょうじゅんエラーしゅつりょく
外語: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がマクロ定義されている。
再検索