名前空間
変種
操作

exit

提供: cppreference.com
< c‎ | program
ヘッダ <stdlib.h> で定義
void exit(int exit_code );
(C11未満)
_Noreturn void exit(int exit_code );
(C11以上)

プログラムの正常終了を発生させます。

いくつかのクリーンアップステップが行われます。

  • atexit に渡された関数が登録の逆順で呼ばれます。
  • すべての C のストリームがフラッシュされ閉じられます。
  • tmpfile によって作成されたファイルが削除されます。
  • 制御がホスト環境に返されます。 exit_code がゼロまたは EXIT_SUCCESS であれば、成功終了を表す処理系定義のステータスが返されます。 exit_codeEXIT_FAILURE であれば、失敗終了を表す処理系定義の終了ステータスが返されます。 それ以外の場合は、処理系定義のステータス値が返されます。

目次

[編集]ノート

at_quick_exit で登録された関数は呼ばれません。

プログラムが exit を2回以上呼んだ場合、または exitquick_exit を呼んだ場合、動作は未定義です。

atexit で登録された関数の呼び出し中にその関数が longjmp で終了した場合、動作は未定義です。

return 文または関数の終わりへの到達のいずれかによって main 関数から戻ると、 return 文の引数 (または暗黙の return が使用された場合は 0) を exit_code として渡して exit() を実行します。

[編集]引数

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

[編集]戻り値

(なし)

[編集]

#include <stdio.h>#include <stdlib.h>   int main(void){FILE*fp =fopen("data.txt","r");if(fp ==NULL){fprintf(stderr, "error opening file data.txt in function main()\n"); exit(1);}fclose(fp);printf("Normal Return\n");}

出力例:

error opening file data.txt in function main()

[編集]参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.22.4.4 The exit function (p: 351-352)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.20.4.3 The exit function (p: 315-316)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.10.4.3 The exit function

[編集]関連項目

(クリーンアップせずに)プログラムを異常終了させます
(関数)[edit]
exit() が行われた時に呼ばれる関数を登録します
(関数)[edit]
完全なクリーンアップをせずにプログラムを正常終了させます
(関数)[edit]
close