exit ()- 結束程式
格式
#include <stdlib.h>
void exit(int status);語言層次
ANSI
安全執行緒
是
說明
exit() 函數會將控制權從程式傳回給主機環境。 它會先以相反順序呼叫以 atexit() 函數登錄的所有函數; 也就是說,最後登錄的函數是第一個呼叫的函數。 它會刪除所有緩衝區,並在結束程式之前關閉所有開啟的檔案。
引數 status 可以具有 0 到 255 (含) 的值,也可以是其中一個巨集 EXIT_SUCCESS 或 EXIT_FAILURE。 狀態 值 EXIT_SUCCESS 或 0 表示正常結束; 否則會傳回另一個狀態值。
附註: 無法在非同步信號處理程式內呼叫
exit() 函數。 這表示使用 SYSIFCOPT (*ASYNCSIGNAL) 編譯時,無法在信號處理程式中呼叫 exit() 。回覆值
exit() 函數會將 status 的控制項及值傳回給作業系統。
範例
此範例會在刪除緩衝區並關閉任何開啟的檔案之後結束程式 (如果它無法開啟檔案 myfile)。
#include <stdio.h>
#include <stdlib.h>
FILE *stream;
int main(void)
{
if ((stream = fopen("mylib/myfile", "r")) == NULL)
{
perror("Could not open data file");
exit(EXIT_FAILURE);
}
}