c:exit

Un article de Polydoc.

C99, SVr4, 4.3BSD, POSIX.1-2001.

Sommaire

[modifier] Synopsis

#include <stdlib.h>
void exit(int status);

[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 ()

[modifier] Voir aussi

[modifier] Liens internes

Récupérée de « http://www.polydoc.org/wiki/c:exit »