在你的程序遭遇致命错误无法继续时,你需要退出, 但是,你在退出之前,要执行一些清理 ,比如,关闭文件,清除缓冲区,关闭已经建立的网络连接等等 直接执行exit显然是不可能完成这些的,这里就可以用atexit() 注册一些在执行exit()之前要执行的函数 正常退出时exit()被最后执行 例子: /* atexit example */ #include <stdio.h> #include <stdlib.h> void fnExit1 (void) { printf ("Exit function 1.
"); } void fnExit2 (void) { printf ("Exit function 2.
"); } int main () { atexit (fnExit1); atexit (fnExit2); printf ("Main function.
"); return 0; } Output: Main function. Exit function 2. Exit function 1. http://www.cplusplus.com/ref/cstdlib/atexit.html |