C言語 エラー番号に応じた文字列の取得 - string.h - [ strerror ]
2008.11.21 Friday | by LRESULT
エラー番号に応じた文字列を取得するには、strerror()を使用します。
※ エラー番号については、こちら。
書式 | char* strerror( int errnum ) |
---|---|
機能 | エラー番号に応じた文字列の取得 |
引数 | int errnum : エラー番号 |
戻り値 | エラー番号に応じた文字列のポインタを返します。 |
00 | No error |
---|---|
01 | Operation not permitted |
02 | No such file or directory |
03 | No such process |
04 | Interrupted function call |
05 | Input/output error |
06 | No such device or address |
07 | Arg list too long |
08 | Exec format error |
09 | Bad file descriptor |
10 | No child processes |
11 | Resource temporarily unavailable |
12 | Not enough space |
13 | Permission denied |
14 | Bad address |
15 | Unknown error |
16 | Resource device |
17 | File exists |
18 | Improper link |
19 | No such device |
20 | Not a directory |
21 | Is a directory |
22 | Invalid argument |
23 | Too many open files in system |
24 | Too many open files |
25 | Inappropriate I/O control operation |
26 | Unknown error |
27 | File too large |
28 | No space left on device |
29 | Invalid seek |
30 | Read-only file system |
31 | Too many links |
32 | Broken pipe |
33 | Domain error |
34 | Result too large |
35 | Unknown error |
36 | Resource deadlock avoided |
37 | Unknown error |
38 | Filename too long |
39 | No locks available |
40 | Function not implemented |
41 | Directory not empty |
42 | Illegal byte sequence |
43 | Unknown error |
44 | Unknown error |
45 | Unknown error |
46 | Unknown error |
47 | Unknown error |
48 | Unknown error |
49 | Unknown error |
※ VC8で確認しています。
ファイルオープンに失敗した際のエラー番号から エラーメッセージを取得してみます。 |
---|
#include <stdio.h> #include <string.h> #include <errno.h> int main(void) { FILE *fp = fopen( "error.aaa", "r" ); if( fp == NULL ){ printf( "%s¥n", strerror( errno ) ); } else{ fclose( fp ); } return 0; } |
No such file or directory |
---|
と、表示されます。 これで内容がなんとなく分かります。 |