Namespaces
Variants

exit

From cppreference.net
Definido en el encabezado <stdlib.h>
void exit ( int exit_code ) ;
(hasta C11)
_Noreturn void exit ( int exit_code ) ;
(desde C11)
(hasta C23)
[ [ noreturn ] ] void exit ( int exit_code ) ;
(desde C23)

Causa la terminación normal del programa.

Se realizan varios pasos de limpieza:

  • las funciones pasadas a atexit son llamadas, en orden inverso de registro
  • todos los flujos C son vaciados y cerrados
  • los archivos creados por tmpfile son eliminados
  • el control es devuelto al entorno anfitrión. Si exit_code es cero o EXIT_SUCCESS , se retorna un estado definido por la implementación que indica terminación exitosa. Si exit_code es EXIT_FAILURE , se retorna un estado definido por la implementación que indica terminación fallida. En otros casos se retorna un valor de estado definido por la implementación.

Contenidos

Notas

Las funciones registradas con at_quick_exit no son llamadas.

El comportamiento es indefinido si un programa llama a exit más de una vez, o si llama a exit y quick_exit

El comportamiento es indefinido si durante una llamada a una función registrada con atexit , la función termina con longjmp .

Regresar desde la función main , ya sea mediante una sentencia return o al alcanzar el final de la función, ejecuta exit() , pasando el argumento de la sentencia return (o 0 si se utilizó return implícito) como exit_code .

Parámetros

exit_code - estado de salida del programa

Valor de retorno

(ninguno)

Ejemplo

#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 ;
}

Salida posible:

error opening file data.txt in function main()

Referencias

  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.22.4.4 La función exit (p: 256)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.22.4.4 La función exit (p: 351-352)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.20.4.3 La función exit (p: 315-316)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.10.4.3 La función exit

Véase también

provoca la terminación anormal del programa (sin limpieza)
(función)
registra una función para ser llamada al invocar exit()
(función)
provoca la terminación normal del programa sin limpieza completa
(función)