Функция
Регистрирует функцию завершения работы.
Синтаксис
#include<stdlib.h>
int atexit(atexit_t func);
Прототип
stdlib.h
Описание
Функция atexit регистрирует функцию, указателем которой является переменная func, как функцию выхода из программы. При нормальном завершении программы функция exit вызывает функцию (*func)() перед возвратом в операционную систему. Каждый вызов функции atexit регистрирует разные функции выхода. Может быть зарегистрировано до 32 функций. Они выполняются в следующем порядке: последняя регистрируемая выполняется первой.
Возвращаемое значение
Функция atexit возвращает 0 при успешном завершении и ненулевое значение при неудачном завершении (не остается памяти, чтобы регистрировать функцию).
Переносимость
Atexit совместима с ANSI C.
Пример
#include <stdlib.h>
#include <stdio.h>
void exit_fnl(void)
{
printf("Функция выхода 1\n");
}
void exit_fn2(void)
{
printf("Функция выхода 2\n");
}
int main(void)
{
atexit(exit_fn1); //послать первую функцию выхода
atexit(exit_fn2); //послать вторую функцию выхода
printf("Завершение main ...\n");
return 0;
}