НАЗВА
atexit - вказує функцію, яку буде виконано при нормальному завершенні програми
ОГЛЯД
#include <stdlib.h>
int atexit(void (*function)(void));
ОПИС
Функція atexit() реєструє вказану функцію для виконання під час нормального завершення програми через exit(3) або після повернення функції main() програми. Реєстровані таким чином функції буде викликано у зворотьньому щодо їхньої реєстрації порядку; щодних аргументів не передається.
Щонайменше ATEXIT_MAX функцій може бути реєстровано. Це значення, як мінімум, дорівнює 32. Його можна отримати за допомогою ?sysconf(3).
Шляхом успішного виклику однієї з exec-функцій, усі реєстрації скасовано.
ПОВЕРНЕНІ ЗНАЧЕННЯ
Функція atexit() повертає 0 при успішнім виконанні, у протилежному випадку, - ненульове значення.
ПРИКЛАД
#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;
}
ВІДПОВІДНІСТЬ СТАНДАРТАМ
SVID 3, BSD 4.3, ISO 9899, POSIX 1003.1-2001