c:exit
Un article de Polydoc.
C99, SVr4, 4.3BSD, POSIX.1-2001.
Sommaire |
[modifier] Synopsis
[modifier] Description
La fonction exit() termine normalement un processus et la valeur ++status & 0377++ est envoyée au processus parent (voyez wait).
Toutes les fonctions enregistrées avec atexit et on_exit sont appelées dans l'ordre inverse de leur enregistrement.
Tous les flux ouverts sont vidés et fermés. Les fichiers crées avec
tmpfile sont supprimés.
Le standard C spécifie deux constantes symboliques EXIT_SUCCESS et
EXIT_FAILURE qui peuvent être passée à exit() pour indiquer respectivement une terminaison sans ou avec échec.
[modifier] Valeur renvoyée
Etant donné son action, exit() ne redonne pas la main au programme.
[modifier] Notes
Le résultat est indéfini si l'une des fonctions enregistrées avec
atexit et on_exit appelle de nouveau exit() ou même longjmp
L'utilisation des constantes symboliques EXIT_SUCCESS et EXIT_FAILURE doit être préférée à l'utilisation des valeurs communes 0, 1 ou -1, pour des raisons de portabilité.
Enfin, à la fin de l'exécution de la fonction main (), le retour de main () est passé en argument à exit, ainsi return 0; dans main () équivaut à exit (0);.
[modifier] Exemples
#include <stdlib.h> #include <stdio.h> void fonction () { puts ("J'apelle exit ()"); exit (EXIT_SUCESS); } int main (void) { fonction (); puts ("Ce code n'est jamais exécuté"); return EXIT_SUCESS; }
affiche :
J'apelle exit ()

