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

Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.