exit() — 프로그램 종료
형식
#include <stdlib.h>
void exit(int status);
언어 레벨
ANSI
스레드세이프
예
설명
exit() 함수는 프로그램에서 호스트 환경에 제어를 리턴합니다. 먼저 atexit() 함수에 등록된 모든 함수를 역순으로(즉, 등록된 마지막 함수가 호출되는 첫 번째 함수임) 호출합니다. 프로그램을 종료하기 전에 버퍼를 모두 삭제하고 열린 파일을 모두 닫습니다.
인수 status 값은 0 - 255(두 값 포함)이거나 매크로 EXIT_SUCCESS 또는 EXIT_FAILURE 중 하나입니다. status 값 EXIT_SUCCESS 또는 0은 정상 종료를 표시합니다. 그렇지 않으면 다른 상태 값이 리턴됩니다.
참고: exit() 함수를
비동기 신호 핸들러 내에서 호출할 수 없습니다. 이는 SYSIFCOPT(*ASYNCSIGNAL)로
컴파일되면 신호 핸들러에서 exit()를 호출할 수 없음을 의미합니다.
리턴값
exit() 함수는 오퍼레이팅 시스템에 status 값과 제어를 둘 다 리턴합니다.
예
이 예는 myfile 파일을 열 수 없으면 버퍼를 삭제하고
열린 파일을 닫은 후 프로그램을 종료합니다.
#include <stdio.h>
#include <stdlib.h>
FILE *stream;
int main(void)
{
if ((stream = fopen("mylib/myfile", "r")) == NULL)
{
perror("Could not open data file");
exit(EXIT_FAILURE);
}
}