error, error_at_line, error_message_count, error_one_per_line,
  error_print_progname - glibc
  のエラー書き出し関数
#include <error.h>
void error(int status, int errnum, const char *format, ...);
void error_at_line(int status, int errnum, const char *filename,
                   unsigned int linenum, const char *format, ...);
extern unsigned int error_message_count;
extern int error_one_per_line;
extern void (*error_print_progname) (void);
error()
  は汎用的なエラー書き出し関数である。
  この関数は標準出力 (
  
stdout)
  に書き出してから、標準エラー出力
  ( 
stderr) に書き出す。
  書き出す内容は、プログラム名・コロン・スペース・
  
printf(3) 形式の
  フォーマット文字列
  
format
  で指定されたメッセージである。
  
errnum が 0 以外の場合、2
  つ目のコロンとスペースの後に
  
strerror(errnum)
  で指定された文字列も書き出す。
  
format
  に必要な任意の引き数が、引き数リストの
  
format の後に続く。
  出力の終端には改行文字が付く。
error()
  で出力されるプログラム名は、大域変数
  
program_invocation_name(3)
  の値である。
  
program_invocation_name の初期値は
  
main() の 
argv[0]
  の値と等しい。
  この変数の値は変更可能であり、変更すると
  
error()
  の出力が変わる。
status が 0 以外の場合、
  
error() は 
exit(3)
  を呼び出して、指定された終了ステータスでプログラムを終了させる。
error_at_line() 関数は、引き数
  
filename と 
linenum
  が追加されている以外は、
  
error() と同じである。
  生成される出力は、プログラム名の後に
  コロン・ 
filename
  の値・コロン・ 
linenum
  の値が書き出される以外は、
  
error() と同じである。
  プリプロセッサの値
  
__LINE__ と 
__FILE__ は、
  
error_at_line()
  を呼び出すときに役に立つ。
  その他のプリプロセッサの値も使うことができる。
  例えば、これらの引き数で入力ファイルにおける位置を参照できる。
大域変数 
error_one_per_line が 0
  以外に設定されている場合、
  
filename と 
linenum
  の値が共に等しい
  
error_at_line()
  の呼び出しは、 1 つの
  (最初の)
  メッセージの出力にまとめられる。
大域変数 
error_message_count は、
  
error() と 
error_at_line()
  で出力されたメッセージの数を表す。
大域変数 
error_print_progname に
  関数のアドレスが割り当てられている場合
  (つまり NULL
  ではない場合)、
  メッセージの前にプログラム名とコロンを書き出すのではなく、
  この関数を呼び出す。
  この関数は標準エラー出力
  ( 
stderr)
  に対しての適切な文字列を書き出さなければならない。
これらの関数と変数は
  GNU による拡張であり、
  移植性を考えたプログラムでは使用すべきではない。
関連項目¶
err(3), 
errno(3), 
exit(3), 
perror(3),
  
program_invocation_name(3), 
strerror(3)
この文書について¶
この man ページは Linux 
man-pages
  プロジェクトのリリース
  3.65 の一部
  である。プロジェクトの説明とバグ報告に関する情報は
  
http://www.kernel.org/doc/man-pages/
  に書かれている。