1. 程式人生 > >exit()和_exit()的區別

exit()和_exit()的區別

exit.c原始碼:

#include
#include 
int main(void)
{
    printf("Using exit...\n");
    printf("This is the content in buffer");
    exit(0);
}

輸出資訊:
Using exit…
This is the content in buffer

_exit()原始碼:

#include
#include 
int main(void)
{
    printf("Using exit...\n");   //如果此處不加“\n”的話,這條資訊有可能也不會顯示在終端上。
printf("This is the content in buffer"); _exit(0); }

則只輸出:
Using exit…

分析:

1.exit:結束,清理的操作,先檢查緩衝區,然後把沒有寫進緩衝區的資料寫入到檔案。
2._exit:立即關閉檔案,檔案緩衝區的內容也隨之消失了。

補充:

printf重新整理緩衝區的方法有一下幾種:

  1. 程序退出
  2. \n換行
  3. 緩衝區存滿
  4. 使用重新整理緩衝區的函式