Namespaces
Variants

EXIT_SUCCESS, EXIT_FAILURE

From cppreference.net
Определено в заголовочном файле <stdlib.h>
#define EXIT_SUCCESS /*implementation defined*/
#define EXIT_FAILURE /*implementation defined*/

Макросы 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);
    }
    /* Normal processing continues here. */
    fclose(fp);
    printf("Normal Return\n");
    return EXIT_SUCCESS;
}

Вывод:

fopen() failed in file main.cpp at line #9

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.22/3 Общие утилиты <stdlib.h> (стр.: TBD)
  • Стандарт 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