[C언어 소스] strerror 함수 사용 예제 (에러 번호를 설명하는 에러 문자열을 반환하는 함수)
//C언어 표준 라이브러리 함수 사용법 가이드
//char * strerror ( int errno ); 에러 번호를 설명하는 에러 문자열을 반환하는 함수
//에러 메시지 목록 출력 및 없는 파일을 읽기 모드로 열었을 때 에러 번호와 에러 메시지 출력
#include <stdio.h>
#include <errno.h>
#include <string.h>
void ListErrorMsg()
{
int i = 0;
char *errmsg;
printf("== Error Message List ==\n");
for(i=0;i<45;i++)
{
errmsg = strerror(i);//에러 메시지 확인
printf("<%d>:%s\n",i,errmsg);//에러 번호와 에러 메시지 출력
}
}
int main(void)
{
FILE * fp;
ListErrorMsg();//에러 번호와 에러 메시지 목록 출력
printf("\n없는 파일 읽기 모드로 열었을 때의 에러 메시지 확인하기\n");
fp = fopen ("noexist.txt","rt");//읽기 모드로 없는 파일 열기
if (fp == NULL)//파일 스트림이 NULL일 때
{
perror("file not existed");//에러 메시지 출력
printf ("%d: %s\n",errno,strerror(errno));//에러 번호와 에러 메시지 출력
return 0;
}
fclose(fp);
return 0;
}
출력
== Error Message List ==
<0>:No error
<1>:Operation not permitted
<2>:No such file or directory
<3>:No such process
<4>:Interrupted function call
<5>:Input/output error
<6>:No such device or address
<7>:Arg list too long
<8>:Exec format error
<9>: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
없는 파일 읽기 모드로 열었을 때의 에러 메시지 확인하기
file not existed: No such file or directory
2: No such file or directory
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] memmove 함수 사용 예제 (메모리를 이동) (0) | 2016.05.04 |
---|---|
[C언어 소스] memcpy 함수 사용 예제 (메모리 복사) (0) | 2016.05.04 |
[C언어 소스] strtok_s 함수 사용 예제 (대상 문자열에서 delimeters를 기준으로 분할하는 함수, 버퍼 오버플로우 방지) (0) | 2016.05.04 |
[C언어 소스] strtok 함수 사용 예제 (대상 문자열에서 delimeters를 기준으로 분할하는 함수) (0) | 2016.05.04 |
[C언어 소스] strstr 함수 사용 예제 (문자열에서 부분 문자열의 위치를 찾는 함수) (0) | 2016.05.04 |