CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
onexit
ONEXIT
#include <stdlib.h> требуется только для объявления
функции
onexit_t onexit(func); тип onexit_t, определенный в
<stdlib.h>
onexit_t func;
Описание.
Функция onexit передает адрес функции (func), которая будет
выполнена, если программа нормально завершится. Успешные вызовы
onexit создают набор функций, выполняемый по правилу магазина -
"последний зашел, первый вышел". При помощи onexit могут быть
созданы наборы не более чем из 32 функций; onexit возвращает
значение NULL, если число функций в наборе превышает 32. Функции,
передаваемые к onexit, не могут иметь параметров.
Возвращаемое значение.
Функция onexit в случае успеха возвращает указатель на фун-
кцию и возвращает NULL, если не осталось места для хранения ука-
зателя на функцию.
См.также exit.
Пример:
#include <stdlib.h>
main()
{
int fn1(), fn2(), fn3(), fn4();
onexit(fn1);
onexit(fn2);
onexit(fn3);
onexit(fn4);
printf("This is executed first.\n");
}
int fn1()
{
printf("next.\n");
}
int fn2()
{
printf("executed");
}
int fn3()
{
printf("is");
}
int fn4()
{
printf("This");
}
На выходе:
This is executed first.
This is executed next.
