exit
|
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_codees cero o EXIT_SUCCESS , se retorna un estado definido por la implementación que indica terminación exitosa. Siexit_codees 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) |
|
|
(C11)
|
provoca la terminación normal del programa sin limpieza completa
(función) |
|
Documentación de C++
para
exit
|
|