先頭へ戻る

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

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

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 に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー