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равен нулю или EXIT_SUCCESS , возвращается определенный реализацией статус, указывающий на успешное завершение. Еслиexit_codeравен EXIT_FAILURE , возвращается определенный реализацией статус, указывающий на неуспешное завершение. В остальных случаях возвращается определенное реализацией значение статуса.
Содержание |
Примечания
Функции, зарегистрированные с помощью at_quick_exit не вызываются.
Поведение не определено, если программа вызывает
exit
более одного раза, или если она вызывает
exit
и
quick_exit
Поведение не определено, если во время вызова функции, зарегистрированной с помощью atexit , функция завершается с помощью longjmp .
Возврат из
функции main
, либо с помощью оператора
return
, либо при достижении конца функции, выполняет
exit()
, передавая аргумент оператора return (или
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 (стр. 256)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.22.4.4 Функция exit (стр: 351-352)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.20.4.3 Функция exit (стр: 315-316)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
-
- 4.10.4.3 Функция exit
Смотрите также
|
вызывает аварийное завершение программы (без очистки)
(функция) |
|
|
регистрирует функцию для вызова при
exit()
вызове
(функция) |
|
|
(C11)
|
вызывает нормальное завершение программы без полной очистки
(функция) |
|
C++ documentation
для
exit
|
|