exit
提供: cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
| ヘッダ <stdlib.h> で定義
|
||
void exit( int exit_code ); |
(C11未満) | |
_Noreturn void exit( int exit_code ); |
(C11以上) | |
プログラムの正常終了を発生させます。
いくつかのクリーンアップステップが行われます。
- atexit に渡された関数が登録の逆順で呼ばれます。
- すべての C のストリームがフラッシュされ閉じられます。
- tmpfile によって作成されたファイルが削除されます。
- 制御がホスト環境に返されます。
exit_codeがゼロまたは EXIT_SUCCESS であれば、成功終了を表す処理系定義のステータスが返されます。exit_codeが EXIT_FAILURE であれば、失敗終了を表す処理系定義の終了ステータスが返されます。 それ以外の場合は、処理系定義のステータス値が返されます。
ノート
at_quick_exit で登録された関数は呼ばれません。
プログラムが exit を2回以上呼んだ場合、または exit と quick_exit を呼んだ場合、動作は未定義です。
atexit で登録された関数の呼び出し中にその関数が longjmp で終了した場合、動作は未定義です。
return 文または関数の終わりへの到達のいずれかによって main 関数から戻ると、 return 文の引数 (または暗黙の return が使用された場合は 0) を exit_code として渡して exit() を実行します。
引数
| exit_code | - | プログラムの終了ステータス |
戻り値
(なし)
例
Run this 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)