반응형
strerror
헤더 파일
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - string.h
입력 매개 변수 리스트
errno 에러 번호
반환 값
에러 번호에 대응하는 에러 메시지
가장 최근에 발생한 에러 번호는 errno 변수에 있습니다.
errno 변수는 <errno.h> 헤더 파일을 포함하면 접근할 수 있습니다.
사용 예
//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
반응형
'언어 자료구조 알고리즘 > C11 표준 라이브러리 함수' 카테고리의 다른 글
memset 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
---|---|
memcpy_s 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
memcmp 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
memmove 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
memcpy 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
strtok_s 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
strtok 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
strstr 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
strrchr 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
strchr 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |