본문 바로가기
컴퓨터 언어/C\C++

[c언어] fprintf(stderr, "error!"); 에 대하여.

by SuperMemi 2020. 4. 2.
반응형

printf() 함수는 모니터 즉 콘솔창에 값이 출력된다.

 

그렇다면, fprintf() 함수는 언제 쓸까?

 

1. 파일에 작성.

fprintf()는 File print의 약자 이다. printf의 사용에 file의 개념만 추가된 것이다.

파일을 열어 그곳에 값을 출력할 수 있다.

 

예를 들어,

#include<stdio.h>

void main(void)
{
FILE *fp;
fp = fopen("tmp.txt","w");
fprintf(fp, "테스트\n");
fclose(fp);
}

이런 식으로 사용할 수 있다.

tmp.txt.파일을 생성 후 테스트라는 글자를 넣고 종료시킴.

 

2. fprintf(stderr, "Error!!!!");

fprintf(stderr, "Error!!!!");

stderr, stdin, stdout은 C/C++로 작성한 프로그램에서 지정하지 않아도 자동으로 오픈되는 스트림(파일포인터)이다.

stdin : 표준 입력장치, 보통은 키보드

stdout : 표준 출력장치, 보통은 모니터

stderr : 표준에러출력장치, 보통은 모니터

 

printf함수가 쓰일때 자연스럽게 stdout을 사용하는데 이는 버퍼링이 존재한다.

 

stderr로 출력되는 메시지는 버퍼링없이 즉시 출력된다. 따라서 문제가 생겼을 경우 즉시 출력된다.

반응형