ATEXIT |
A la sortie |
---|---|
Langage C | stdlib.h |
Syntaxe
int atexit(void (*ptrfonction)(void)); |
Paramètres
Nom | Description |
---|---|
ptrfonction | Ce paramètre permet d'indiquer une fonction à traiter avant de terminer le processus |
Retour
Valeur | Description |
---|---|
0 | Cette valeur permet d'indiquer que la fonction a correctement été enregistré. |
différent de 0 | Ces valeurs permettent d'indiquer qu'une erreur s'est produite et que la fonction n'a pas été enregistré. |
Description
Cette fonction permet d'indiquer une fonction devant être appelée à la fin d'un programme avant de se terminer.
Remarques
- Si plus d'un appel à cette fonction a été spécifié par le programme, lors de la de terminaison de celui-ci, il les exécutera tous dans l'ordre inverse qu'ils ont été spécifié comme une pile (du dernier vers le premier).
- ATTENTION ! Si vous appelez cette fonction après l'appel de sortie, vous risquez d'avoir un comportement différent d'un compilateur de C à l'autre ou de sa bibliothèque.
- Si une erreur se produit à l'intérieur d'une fonction enregistré, si aucun gestionnaire d'exception n'est fournit, il effectuera la terminaison du C par défaut.
- Le nombre maximum de fonction pouvant être enregistré dépendant de quel façon à été écrite, mais ils ont tous une capacité supérieur à 32 appels de fonctions si elle respect la norme C99.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
- #include <stdio.h>
- #include <stdlib.h>
-
- void exitA(void) {
- printf("Sortie A\n");
- }
-
- void exitB(void) {
- printf("Sortie B\n");
- }
-
- void exitC(void) {
- printf("Sortie C\n");
- }
-
- int main ()
- {
- atexit(exitA);
- atexit(exitB);
- atexit(exitC);
- printf("Début du programme\n");
- printf("Corps du programme...\n");
- exit(0);
- printf("Fin du programme jamais executé\n");
- return 0;
- }
on obtiendra le résultat suivant :
Début du programmeCorps du programme...
Sortie C
Sortie B
Sortie A
Voir également
Langage de programmation - C++ - Référence de procédures et fonctions - atexit
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 730.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 33.
Dernière mise à jour : Mardi, le 28 juillet 2015