名前


err, verr, errx, verrx, warn, vwarn, warnx, vwarnx - エラーメッセージをフォーマットにする

書式



.Fd #include <err.h> void

 err int eval const char *fmt ...
void
 verr int eval const char *fmt va_list args
void
 errx int eval const char *fmt ...
void
 verrx int eval const char *fmt va_list args
void
 warn const char *fmt ...
void
 vwarn const char *fmt va_list args
void
 warnx const char *fmt ...
void
 vwarnx const char *fmt va_list args

説明


 err
 warn
といった一連の関数は、フォーマットされたエラーメッセージを 標準エラーに表示する。 これら全ての関数は、プログラム名からディレクトリ部分を取り去った名前に、 コロンとスペースを続けたものを出力する。 引き数 fmt が NULL でない場合、フォーマットされたエラーメッセージ・ コロン・スペースが出力される。
 err
,
 verr
,
 warn
,
 vwarn
関数の場合、大域変数 errno の現在の値に対応したエラーメッセージ文字列が出力される。 全ての関数で、出力の後には改行文字が付く。

 err
,
 verr
,
 errx
,
 verrx
関数はリターンせず、引き数 eval の値で終了する。


現在のエラー番号 (errno) 情報の文字列を表示して終了する: if ((p = malloc(size)) == NULL)         err(1, NULL); if ((fd = open(file_name, O_RDONLY, 0)) == -1)         err(1, "%s", file_name);

エラーメッセージを表示して終了する: if (tm.tm_hour < START_TIME)         errx(1, "too early, wait until %s", start_time_string);

エラーの警告を出す: if ((fd = open(raw_device, O_RDONLY, 0)) == -1)         warnx("%s: %s: trying the block device",          raw_device, strerror(errno)); if ((fd = open(block_device, O_RDONLY, 0)) == -1)         err(1, "%s", block_device);

関連項目


strerror(3)

履歴


 err
 warn
関数は BSD 4.4 で初めて登場した。

openSUSE Logo

コンテンツ