C언어/C언어 예제

[C언어 소스] strerror 함수 사용 예제 (에러 번호를 설명하는 에러 문자열을 반환하는 함수)

언제나휴일 2016. 5. 4. 07:34
반응형

[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


언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형