man atexit (Fonctions bibliothèques) - Enregistrer une fonction à invoquer à la fin du programme.

NOM

atexit - Enregistrer une fonction à invoquer à la fin du programme.

SYNOPSIS

#include <stdlib.h>

int atexit (void (*fonction)(void));

DESCRIPTION

La fonction atexit() enregistre la fonction donnée pour que celle-ci soit automatiquement invoquée lorsque le programme se termine normalement avec exit(3) ou par un retour de la fonction main. Les fonctions ainsi enregistrées sont invoquées en ordre inverse de leur enregistrement, aucun argument n'est transmis.

Au moins ATEXIT_MAX fonctions peuvent être enregistrées. Cette valeur est au moins 32. Elle peut être obtenue en utilisant sysconf(3).

Avec un appel réussi à l'une de ces fonctions, tous les enregistrements sont annulés

VALEUR RENVOYÉE

La fonction atexit() renvoie 0 si elle réussit, et une valeur non-nulle si elle échoue.

EXEMPLE

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void bye(void) { printf("That was all, folks\n"); }

int main(){ long a; int i;

a = sysconf(_SC_ATEXIT_MAX); printf("ATEXIT_MAX = %ld\n", a);

i = atexit(bye); if (i != 0) { fprintf(stderr, "cannot set exit function\n"); return EXIT_FAILURE; } return EXIT_SUCCESS; }

CONFORMITÉ

SVID 3, BSD 4.3, ISO 9899, POSIX 1003.1-2001

VOIR AUSSI

TRADUCTION

Christophe Blaess, 1996-2003.