名前空間
変種
操作

_Exit

From cppreference.com
< c‎ | program
ヘッダー <stdlib.h> で定義
void _Exit( int exit_code );
(C99以降)
(C11まで)
_Noreturn void _Exit( int exit_code );
(C11 以降)
(C23まで)
[[noreturn]] void _Exit( int exit_code );
(C23以降)

リソースを完全にクリーンアップすることなく、プログラムの正常終了を引き起こします。

at_quick_exit() または atexit() に渡された関数は呼び出されません。書き込みバッファに残っている開いているストリームがフラッシュされるか、開いているストリームが閉じられるか、一時ファイルが削除されるかは、実装定義です。

exit_code0 または EXIT_SUCCESS の場合、実装定義の成功終了を示すステータスがホスト環境に返されます。exit_codeEXIT_FAILURE の場合、実装定義の失敗終了を示すステータスが返されます。それ以外の場合は、実装定義のステータス値が返されます。

目次

[編集] パラメータ

exit_code - プログラムの終了ステータス

[編集] 戻り値

(なし)

[編集]

#include <stdlib.h>
#include <stdio.h>
 
/* _Exit does not call functions registered with atexit. */
void f1(void)
{
    puts("pushed first");
}
 
void f2(void)
{
    puts("pushed second");
}
 
int main(void)
{
    printf("Enter main()\n");
    atexit(f1);
    atexit(f2);
    fflush(stdout);   /* _Exit may not flush unwritten buffered data */
    _Exit(0);
}

出力

Enter main()

[編集] 参考文献

  • C17標準 (ISO/IEC 9899:2018)
  • 7.22.4.5 The _Exit function (p: 256)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.22.4.5 The _Exit function (p: 352)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.20.4.4 The _Exit function (p: 316)

[編集] 関連項目

(クリーンアップせずに)異常なプログラム終了を引き起こす
(関数) [編集]
クリーンアップを伴う通常のプログラム終了を引き起こす
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)