close
Пространства имён
Варианты
Действия

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