Syntax
#include <stdlib.h> onexit_t _onexit(onexit_t func);Description
You can record up to 32 termination functions with calls to _onexit and atexit. If you exceed 32 functions, _onexit returns the value NULL.
Note: For portability, use the ANSI/ISO standard atexit function, which is equivalent to _onexit.
If successful, _onexit returns a pointer to the function; otherwise, it returns a NULL value.
This example specifies and defines four distinct functions that run consecutively at the completion of main.
#include <stdio.h> #include <stdlib.h> int fn1(void) { printf("next.\n"); } int fn2(void) { printf("run "); } int fn3(void) { printf("is "); } int fn4(void) { printf("This "); } int main(void) { _onexit(fn1); _onexit(fn2); _onexit(fn3); _onexit(fn4); printf("This is run first.\n"); return 0; /**************************************************************************** The output should be: This is run first. This is run next. ****************************************************************************/ }Related Information