perror
는 'print error'로 오류메세지를 출력할 때 사용하는 함수이다.
- perror(reference): http://en.cppreference.com/w/c/io/perror
Defined in header <stdio.h>
void perror(const char *s);
C++에서는 cstdio 헤더 안에 정의되어있다.
perror는 stderr 스트림에 null-terminated string을 출력하는 함수이다.
출력되는 메시지는 s + ": " + stderror(errno) + '\n'라고 보면 될 듯.
시스템 변수인 errno를 사용하기 떄문에 에러가 발생한 즉시 perror를 사용해서 에러메시지를 출력해야한다. 안그러면 다른 에러가 발생해 errno가 변할 수 있다.
사용 예는 다음과 같다.
#include <stdio.h>
int main()
{
FILE *f = fopen("non_exsitent", "r");
if (f == NULL) {
perror("open()");
} else {
fclose(f);
}
return 0;
}
출력
open(): No such file or directory
C에서 에러 처리를 할 때 유용하게 쓰는 함수다.
반응형