atexit
書式
int atexit(void (*function)(void));
機能
プログラム正常終了時に実行する関数へのポインタを登録する。最低32個は登録でき、呼び出し順は登録した時と逆の順番。
戻り値
登録が成功した時は0、失敗した時は0以外。
ヘッダーファイル
stdlib.h
使用例
void E_funcA(void){
printf("条件Xのみの終了プログラムです。\n");
}
void E_funcB(void){
printf("条件Xか条件Zの終了プログラムです\n");
}
void E_funcC(void){
printf("条件Yか条件Zの終了プログラムです。\n");
}
int main(void){
:;
:;
if(X){atexit(E_funcB);atexit(E_funcA);}
else if(Y)atexit(E_funcC);
else if(Z){atexit(E_funcC);atexit(E_funcB);}
:;
:;
}
printf("条件Xのみの終了プログラムです。\n");
}
void E_funcB(void){
printf("条件Xか条件Zの終了プログラムです\n");
}
void E_funcC(void){
printf("条件Yか条件Zの終了プログラムです。\n");
}
int main(void){
:;
:;
if(X){atexit(E_funcB);atexit(E_funcA);}
else if(Y)atexit(E_funcC);
else if(Z){atexit(E_funcC);atexit(E_funcB);}
:;
:;
}