前言
在之前,學習了 read write 這樣的不帶緩衝IO函式。
而本文將講解標準IO庫中,帶緩衝的IO函式。
為什麼要有帶緩衝IO函式
標準庫提供的帶緩衝IO函式是為了減少 read 和 write 函式呼叫次數而設計的。因為每次呼叫 read 和 write 函式系統都會中斷並陷入核心,增加了CPU的負擔。
三大緩衝型別
1. 全緩衝
在填滿標準IO緩衝區後才進行實際IO操作。
2. 行緩衝
在輸入和輸出過程中遇到換行符時,執行實際IO操作。
3. 不緩衝
任何時候的實際讀寫都是在函式呼叫時進行,函式呼叫後結束。
程式碼實現
具體的應用類似於不帶緩衝IO函式,只是檔案描述符變成了檔案指標,多個緩衝設定,多了些格式化IO函式罷了。
小結
緩衝型別是針對流的,而不是針對具體函式的,切記。