_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; }