C言語編 標準ライブラリのリファレンス atexit

先頭へ戻る

atexit関数

概要 プログラムの正常終了時に呼び出される関数を登録する。
ヘッダ stdlib.h
形式 int atexit(void (*func)(void));
引数 func 登録する関数。
戻り値 登録に成功すると 0 が返される。失敗した場合は 0以外が返される。
詳細 通常の処理の流れで、main関数を抜け出してプログラムが終了した場合や、exit関数によって正常終了された場合に呼び出される関数を登録する。
関数は複数登録でき、最後に登録したものから順番に呼び出される。登録できる関数の個数の制限は、処理系によって異なるが、最低でも 32個は登録できることになっている。
注意 abort関数によるプログラム終了の場合は、atexit関数で登録した関数は呼び出されることはない。
使用例
#include <stdio.h>
#include <stdlib.h>

void onExit1(void);
void onExit2(void);

int main(void)
{
    atexit( onExit1 );
    atexit( onExit2 );

    return 0;
}

void onExit1(void)
{
    puts( "onExit1" );
}

void onExit2(void)
{
    puts( "onExit2" );
}

実行結果:

onExit2
onExit1
関連
解説章


参考リンク



更新履歴

'2018/4/4 「注意」の内容を修正。登録した関数内から exit関数を呼び出した場合に関する記述を削除した(規格には特に記述がないため)。

'2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ


はてなブックマーク Pocket に保存 Twitter でツイート Twitter をフォロー
Facebook でシェア Google+ で共有 LINE で送る rss1.0 取得ボタン RSS
管理者情報 プライバシーポリシー