C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス strerror

🔧 文字列 ・ string.h ・ C89

strerror の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

char *strerror(int errnum);

どんな関数か

エラー番号(errnoの値)に対応するエラーメッセージ文字列を返す。perrorが内部で使っているのと同じ変換で、メッセージを自分で組み立てて表示したい時に使う関数。 多言語対応の処理系ではロケールに応じてメッセージが翻訳されることもある、環境依存の強い関数。

使用例

#include <string.h>
#include <stdio.h>
#include <errno.h>
int main(void) {
    FILE *fp = fopen("nofile.txt", "r");
    if (!fp) {
        printf("error: %s\n", strerror(errno));
    }
    return 0;
}

つまずきやすい注意点

⚠️ 戻り値の文字列を指すポインタは静的領域を指すことが多く、次にstrerrorを呼ぶと上書きされるため、保持したいならコピーする。

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

strerror と一緒に使う関数

perror直前のライブラリ関数呼び出しで設定されたerrnoをもとに、指定文字列に続けてエラー内容を人間が読める形で標準エラー出力… fopenファイルを開いてストリームを得る。モード文字列("r"読込/"w"書込/"a"追記、"b"でバイナリ)を指定する。失敗時…

同じ分類(文字列)の関数

memcmp memcpy memmove memset memset_explicit strcat strchr strcmp strcoll strcpy strcspn strdup strlen strncat strncmp strncpy

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る