exit()和_exit()的區別
阿新 • • 發佈:2019-02-10
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重新整理緩衝區的方法有一下幾種:
- 程序退出
- \n換行
- 緩衝區存滿
- 使用重新整理緩衝區的函式