프로그래밍/C2014. 6. 2. 16:29

strerror

#include <stdio.h>

#include <string.h>


void main()

{

  FILE *fp;

  if ((fp = fopen("data.txt", "r")) == NULL) {

    fprintf(stderr, "ERROR: %s\n", strerror(errno));

    exit(1);

  }

  exit(0);

}


strerror는 errno를 받아서 실패한 원인에 대한 메세지를 리턴한다.


그런데 perror는 더 편리하다.

perror

#include <stdio.h>


void main()

{

  FILE *fp;

  if ((fp = fopen("data.txt", "r")) == NULL) {

    perror("ERROR");  // 오류가 발생했을 때 오류 출력시에 앞에 붙는 PREFIX를 인자로 받는다.

    exit(1);

  }

  exit(0);

}


Posted by code cat