_sys_errlist
errno.h:インデックス への移動
ヘッダー ファイル
errno.h
構文
extern char * _sys_errlist[ ];
説明
_sys_errlist は、特定のライブラリ ルーチンが指定されたタスクを遂行できない場合にエラー メッセージを出力するために perror で使用されます。
メッセージの出力書式をきめ細かく制御できるように、メッセージ文字列の配列が _sys_errlist で用意されます。 errno をこの配列のインデックスとして使用して、エラー番号に対応する文字列を検索できます。 文字列には改行文字は含まれていません。
例
printf("%s\n", _sys_errlist[ENOPATH]);
ニーモニック ENOPATH を使用しているこのコードでは、"Path not found"(パスが見つからない)という文字列を出力します。
_sys_errlist に格納されている値のニーモニックと意味を以下の表に示します。 このリストは、読みやすいようにアルファベット順に並べられています。 数値順の詳細は、ヘッダー ファイル「errno.h」を参照してください。
| ニーモニック | 説明 |
|---|---|
|
E2BIG |
引数リストが長すぎる |
|
EACCES |
権限がないためアクセスが拒否された |
|
EBADF |
ファイル番号が不正 |
|
ECHILD |
子プロセスがない |
|
ECONTR |
メモリ ブロックが破損している |
|
ECURDIR |
カレント ディレクトリを削除しようとした |
|
EDEADLOCK |
ロック違反 |
|
EDOM |
数学引数 |
|
EEXIST |
ファイルが既に存在している |
|
EFAULT |
不明なエラー |
|
EINTR |
関数呼び出しが割り込まれた |
|
EINVACC |
アクセス コードが無効 |
|
EINVAL |
引数が無効 |
|
EINVDAT |
データが無効 |
|
EINVDRV |
指定されたドライブが無効 |
|
EINVENV |
環境が無効 |
|
EINVFMT |
形式が無効 |
|
EINVFNC |
関数番号が無効 |
|
EINVMEM |
メモリ ブロック アドレスが無効 |
|
EIO |
入出力エラー |
|
EMFILE |
開いているファイルが多すぎる |
|
ENAMETOOLONG |
ENAMETOOLONG |
|
ENFILE |
開いているファイルが多すぎる |
|
ENMFILE |
これ以上ファイルがない |
|
ENODEV |
指定されたデバイスがない |
|
ENOENT |
指定されたファイルまたはディレクトリがない |
|
ENOEXEC |
実行形式エラー |
|
ENOFILE |
ファイルが見つからない |
|
ENOMEM |
メモリが不十分 |
|
ENOPATH |
パスが見つからない |
|
ENOSPC |
デバイスに空き領域がない |
|
ENOTSAM |
デバイスが異なる |
|
ENXIO |
指定されたデバイスまたはアドレスがない |
|
EPERM |
操作が許可されていない |
|
EPIPE |
パイプが破損している |
|
ERANGE |
結果が大きすぎる |
|
EROFS |
読み取り専用ファイル システム |
|
ESPIPE |
シークが無効 |
|
EXDEV |
デバイス間リンク |
|
EZERO |
エラー 0 |
例
#include <errno.h>
#include <stdio.h>
int main()
{
int i = 0;
// Global value _sys_nerr also defined in errno.h
while(i < _sys_nerr) {
printf("%s\n", _sys_errlist[i]);
i++;
}
return 0;
}