unix高级编程之-命令行参数(实践一)
2012-05-28 09:07:04 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰Г閹便劌顫滈崱妤€骞婄紓鍌氬€瑰銊╁箟缁嬫鍚嬮柛顐線缂冩洟姊婚崒娆戭槮婵犫偓闁秵鎯為幖娣妼缁愭鏌″搴′簽濞戞挸绉甸妵鍕冀椤愵澀娌梺缁樻尪閸庣敻寮婚敐澶婂嵆闁绘劖绁撮崑鎾诲捶椤撴稑浜炬慨妯煎亾鐎氾拷

1 atexit 函数
格式
#include <stdlib.h>
int atexit( void (*func)(void) );
其中,atexit函数的参数是一个函数地址,当调用此函数时无需向他传递任何参数,也不期望他返回一个值。exit调用这些函数的顺序与他们登记时候的顺序相反。同一函数如若登记多次,则也会被调用多次。
2 实例
#include <stdio.h>
static void my_exit1(void);
static void my_exit2(void);
static void my_exit3(void);
int main(void)
{
if(atexit(my_exit2)!=0)
printf("can't register my_exit2");
if(atexit(my_exit1)!=0)
printf("can't register my_exit1");
if(atexit(my_exit3)!=0)
printf("can't register my_exit1");
printf("main is done\n");
return 0;
}
static void my_exit1(void)
{
printf("first exit handler\n");
}
static void my_exit2(void)
{
printf("second exit handler\n");
}
static void my_exit3(void)
{
printf("third exit handler\n");
}
3 结果
main is done
third exit handler
first exit handler
second exit handler
更多精彩
赞助商链接