C言語,strerror()関数でエラー番号に対する説明を取得

スポンサーリンク

鍛錬 767

C言語,strerror()関数でエラー番号に対する説明を取得

エラー番号に対する説明文を取得するには、strerror()関数を使用します。

エラー発生時に、エラー番号を表す変数 errno に格納された値に対する説明文を取得する際などに使用します。
 
以下は、strerror()関数についてです。

#include <stdio.h>

char *strerror(int errnum);
 

引数

以下は、上記の引数についてです。

引数 意味
int errnum エラー番号

戻り値

戻り値
char エラー内容を説明する文字列
スポンサーリンク

プログラム

以下は、エラー内容を確認するプログラム、test_strerror.c です。

// include
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

// main
int main(void)
{
	char filename[256] = "";
	int err_num;
	int ret;
	
	// 存在しないファイル名を格納
	strncpy(filename, "ABCDEFG.txt", sizeof(filename) - 1);
	
	// 存在しないファイルの削除を試み,
	// 意図的にエラーを発生させる.
	errno = 0;
	ret = remove(filename);
	err_num = errno;
	
	// remove()がエラーの場合
	if (ret == -1) {
		// エラーメッセージを表示
		printf("%s\n", strerror(err_num));
		exit(EXIT_FAILURE);
	}
	
	return 0;
}
スポンサーリンク

実行結果

以下は、プログラム test_strerror.c を実行しています。

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_strerror.c -o test_strerror
***@ubuntu:~/***/test/c$ ./test_strerror
No such file or directory

 
上記に示した通り、エラー番号に対する説明文を表示することができました。

タイトルとURLをコピーしました