int atexit(void (*)(void)).
Таким образом, функция, которая может использоваться в качестве обработчика выхода из программы, не должна возвращать результатов и, кроме того, она не имеет параметров.
Пример использования:
#include
#include
void exit1(){
printf("At function exit1\n");
}
void exit2(){
printf("At function exit2\n");
}
void exit3(){
printf("At function exit3\n");
}
void exit4(){
printf("At function exit4\n");
}
int main (int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
atexit(exit1);
atexit(exit2);
atexit(exit3);
atexit(exit4);
int i=0;
for(i=0;i<100;++i)
printf(".");
return 0;
}
[Session started at 2008-11-03 22:45:28 +0300.]
Hello, World!
....................................................................................................At function exit4
At function exit3
At function exit2
At function exit1
Можно зарегистрировать до 32 обработчиков. При этом они будут вызываться в обратном порядке, т.е. последний зарегистрированный обработчик будет вызываться первым.
Комментариев нет:
Отправить комментарий