1. 程式人生 > 實用技巧 >exit (Program support) – C 中文開發手冊

exit (Program support) – C 中文開發手冊

[
  •   C 語言中文開發手冊

    exit (Program support) - C 中文開發手冊

    在標頭檔案<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或者呼叫exit和quick_exit,則行為是不確定的。如果在呼叫使用atexit註冊的函式期間,行為是不確定的,函式將以longjmp退出。從主函式返回,通過返回語句或到達函式結尾,執行exit(),將return語句的引數(如果使用隱式返回,則返回0)作為exit_code。

    引數

    exit_code - 退出程式的狀態

    返回值

    (none).

    #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標準(ISO / IEC 9899:2011): 7.22.4.4退出功能(p:351-352) C99標準(ISO / IEC 9899:1999): 7.20.4.3退出功能(p:315-316) C89 / C90標準(ISO / IEC 9899:1990): 4.10.4.3退出功能

    擴充套件內容

    abort 導致程式異常終止(不清除)(功能)
    atexit 註冊要在exit()呼叫(函式)上呼叫的函式
    quick_exit(C11) 導致正常程式終止而沒有完全清理(功能)

    | 用於退出的C ++文件|

  •   C 語言中文開發手冊
    ]
  •   本文標題:exit (Program support) – C 中文開發手冊 - Break易站轉載請保留頁面地址:https://www.breakyizhan.com/c-3/27207.html