C言語 エラー番号に応じた文字列の取得 - string.h - [ strerror ]

2008.11.21 Friday | by LRESULT


ラー番号に応じた文字列を取得するには、strerror()を使用します。

エラー番号については、こちら


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
と、表示されます。
これで内容がなんとなく分かります。

カテゴリ:C言語 string.h | 22:30 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

トラックバック機能は終了しました。

トラックバック