strerror

エラー番号に対応するエラーメッセージを取得します.

#include <string.h>
char *strerror(
    int errnum
);

strerror 関数は errnum に入っている番号をメッセージ文字列に対応付けます.

一般的な使い方としては errno マクロを第 1 引数にして呼び出しメッセージを表示させます.

戻り値

  • エラーメッセージへのポインタ

C言語サンプルプログラム

strerror 関数を使用してエラーメッセージを表示するサンプルプログラムを以下に示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* main */
int main(void) {
    int i;

    for ( i = 0; i < 44; i++ ) {
        fprintf(stderr, "%s\n", strerror(i));
    }

    return EXIT_SUCCESS;
}

実行例

サンプルプログラムの実行結果は以下のようになります.

No error
Operation not permitted
No such file or directory
No such process
Interrupted function call
Input/output error
No such device or address
Arg list too long
Exec format error
Bad file descriptor
No child processes
Resource temporarily unavailable
Not enough space
Permission denied
Bad address
Unknown error
Resource device
File exists
Improper link
No such device
Not a directory
Is a directory
Invalid argument
Too many open files in system
Too many open files
Inappropriate I/O control operation
Unknown error
File too large
No space left on device
Invalid seek
Read-only file system
Too many links
Broken pipe
Domain error
Result too large
Unknown error
Resource deadlock avoided
Unknown error
Filename too long
No locks available
Function not implemented
Directory not empty
Illegal byte sequence
Unknown error