Section courante

A propos

Section administrative du site

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.

Algorithme

* Entrée : Une fonction callback sans paramètres et sans valeur de retour
* Sortie : Code de succès ou d'erreur

MODULE ATEXIT(callback)
   SI la liste des fonctions de rappel est pleine ALORS
      Retourner une erreur (indiquant que la fonction n'a pas pu être enregistrée)
   FIN SI
   Ajouter callback à la liste des fonctions de rappel à exécuter lors de la terminaison
   RETOURNE 0

Remarques

Exemple

Voici quelques exemples typiques de l'utilisation de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void exitA(void) {
  5.   printf("Sortie A\n");
  6. }
  7.  
  8. void exitB(void) {
  9.   printf("Sortie B\n");
  10. }
  11.  
  12. void exitC(void) {
  13.   printf("Sortie C\n");
  14. }
  15.  
  16. int main ()
  17. {
  18.   atexit(exitA);
  19.   atexit(exitB);
  20.   atexit(exitC);
  21.   printf("Début du programme\n");
  22.   printf("Corps du programme...\n");
  23.   exit(0);
  24.   printf("Fin du programme jamais executé\n");
  25.   return 0;
  26. }

on obtiendra le résultat suivant :

Début du programme
Corps 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