exit
|
Défini dans l'en-tête
<stdlib.h>
|
||
|
void
exit
(
int
exit_code
)
;
|
(jusqu'à C11) | |
|
_Noreturn
void
exit
(
int
exit_code
)
;
|
(depuis C11)
(jusqu'à C23) |
|
|
[
[
noreturn
]
]
void
exit
(
int
exit_code
)
;
|
(depuis C23) | |
Provoque la terminaison normale du programme.
Plusieurs étapes de nettoyage sont effectuées :
- les fonctions passées à atexit sont appelées, dans l'ordre inverse de leur enregistrement
- tous les flux C sont vidés et fermés
- les fichiers créés par tmpfile sont supprimés
-
le contrôle est retourné à l'environnement hôte. Si
exit_codeest zéro ou EXIT_SUCCESS , un statut défini par l'implémentation indiquant une terminaison réussie est retourné. Siexit_codeest EXIT_FAILURE , un statut défini par l'implémentation indiquant une terminaison échouée est retourné. Dans les autres cas, une valeur de statut définie par l'implémentation est retournée.
Table des matières |
Notes
Les fonctions enregistrées avec at_quick_exit ne sont pas appelées.
Le comportement n'est pas défini si un programme appelle
exit
plus d'une fois, ou s'il appelle
exit
et
quick_exit
Le comportement est indéfini si, lors d'un appel à une fonction enregistrée avec atexit , la fonction se termine avec longjmp .
Le retour de la
fonction main
, soit par une instruction
return
soit en atteignant la fin de la fonction, exécute
exit()
, en passant l'argument de l'instruction return (ou
0
si un retour implicite était utilisé) comme
exit_code
.
Paramètres
| exit_code | - | statut de sortie du programme |
Valeur de retour
(aucun)
Exemple
#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 ; }
Sortie possible :
error opening file data.txt in function main()
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.22.4.4 La fonction exit (p: 256)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.22.4.4 La fonction exit (p: 351-352)
- Norme C99 (ISO/IEC 9899:1999) :
-
- 7.20.4.3 La fonction exit (p: 315-316)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 4.10.4.3 La fonction exit
Voir aussi
|
provoque la terminaison anormale du programme (sans nettoyage)
(fonction) |
|
|
enregistre une fonction à appeler lors de l'invocation de
exit()
(fonction) |
|
|
(C11)
|
provoque la terminaison normale du programme sans nettoyage complet
(fonction) |
|
Documentation C++
pour
exit
|
|