EXIT_SUCCESS, EXIT_FAILURE
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <stdlib.h>
|
||
#define EXIT_SUCCESS /*определяется реализацией*/ |
||
#define EXIT_FAILURE /*определяется реализацией*/ |
||
Макросы EXIT_SUCCESS и EXIT_FAILURE расширяются в целые выражения, которые могут использоваться в качестве аргументов функции exit (и, следовательно, как значения, возвращаемые фнукцией main), и обозначают статус выполнения программы.
| Константа | Объяснение |
EXIT_SUCCESS
|
успешное выполнение программы |
EXIT_FAILURE
|
неуспешное выполнение программы |
Замечание
И EXIT_SUCCESS, и нулевое значение обозначают статус успешного выполнения программы (см. exit), хотя не требуется, чтобы EXIT_SUCCESS была равна нулю.
Пример
Запустить этот код
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp = fopen("data.txt","r");
if (fp == NULL)
{
fprintf(stderr, "fopen() failed in file %s at line # %d", __FILE__,__LINE__);
exit(EXIT_FAILURE);
}
/* Нормальная обработка продолжается здесь. */
fclose(fp);
printf("Normal Return\n");
return EXIT_SUCCESS;
}
Вывод:
fopen() failed in file main.cpp at line # 9
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.22/3 Основные утилиты <stdlib.h> (стр. 248)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.22/3 Основные утилиты <stdlib.h> (стр. 340)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.20/3 Основные утилиты <stdlib.h> (стр. 306)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.10 Основные утилиты <stdlib.h>
См. также
Документация C++ по EXIT_SUCCESS, EXIT_FAILURE
|