exit
|
헤더 파일에 정의됨
<stdlib.h>
|
||
|
void
exit
(
int
exit_code
)
;
|
(C11 이전) | |
|
_Noreturn
void
exit
(
int
exit_code
)
;
|
(C11 이후)
(C23 이전) |
|
|
[
[
noreturn
]
]
void
exit
(
int
exit_code
)
;
|
(C23 이후) | |
정상적인 프로그램 종료를 발생시킵니다.
여러 가지 정리 단계가 수행됩니다:
- atexit 에 전달된 함수들이 등록된 역순으로 호출됨
- 모든 C 스트림이 플러시되고 닫힘
- tmpfile 로 생성된 파일들이 제거됨
-
호스트 환경으로 제어가 반환됨.
exit_code가 0이거나 EXIT_SUCCESS 인 경우, 성공적인 종료를 나타내는 구현 정의 상태가 반환됨.exit_code가 EXIT_FAILURE 인 경우, 비성공적인 종료를 나타내는 구현 정의 상태가 반환됨. 다른 경우에는 구현 정의 상태 값이 반환됨.
목차 |
참고 사항
at_quick_exit 에 등록된 함수들은 호출되지 않습니다.
프로그램이
exit
을 두 번 이상 호출하거나,
exit
과
quick_exit
을 모두 호출할 경우 그 동작은 정의되지 않습니다.
atexit 로 등록된 함수 호출 중에 해당 함수가 longjmp 로 종료되는 경우, 그 동작은 정의되지 않습니다.
main 함수
에서 반환될 때,
return
문을 통해 또는 함수의 끝에 도달함으로써,
exit()
가 실행되며, 반환 문의 인수(또는 암시적 반환이 사용된 경우
0
)가
exit_code
로 전달됩니다.
매개변수
| exit_code | - | 프로그램의 종료 상태 |
반환값
(없음)
예제
#include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp = fopen("data.txt","r"); if (fp == NULL) { fprintf(stderr, "error opening file data.txt in function main()\n"); exit( EXIT_FAILURE ); } fclose(fp); printf("Normal Return\n"); return EXIT_SUCCESS ; }
가능한 출력:
error opening file data.txt in function main()
참고문헌
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.22.4.4 exit 함수 (p: 256)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.22.4.4 exit 함수 (p: 351-352)
- C99 표준 (ISO/IEC 9899:1999):
-
- 7.20.4.3 exit 함수 (p: 315-316)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 4.10.4.3 exit 함수
참고 항목
|
비정상적인 프로그램 종료를 유발합니다 (정리 작업 없이)
(함수) |
|
|
exit()
호출 시 실행될 함수를 등록합니다
(함수) |
|
|
(C11)
|
완전한 정리 작업 없이 정상적인 프로그램 종료를 유발합니다
(함수) |
|
C++ documentation
for
exit
|
|