Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_all bug

名前

       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()   関数は、引き数 filenamelinenum が追加されている以外は、 error() と同じである。 生成
       される出力は、プログラム名の後に   コロン・filename   の値・コロン・linenum    の値が書き出される以外は、
       error()   と同じである。 プリプロセッサの値 __LINE____FILE__ は、 error_at_line()  を呼び出すときに役
       に立つ。 その他のプリプロセッサの値も使うことができる。  例えば、これらの引き数で入力ファイルにおける位置
       を参照できる。

       大域変数   error_one_per_line  が  0  以外に設定されている場合、  filenamelinenum  の値が共に等しい
       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.79 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。