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