C perror 함수


perror는 'print error'로 오류메세지를 출력할 때 사용하는 함수이다.


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에서 에러 처리를 할 때 유용하게 쓰는 함수다.

반응형