鄙人學習筆記
文章目錄
- 重新整理緩沖區
- 舉個例子1(行緩沖)
- 舉個例子2(隻有把系統預設緩沖區大小寫滿,才會自動重新整理)
- 舉個例子3(flush()重新整理緩沖區)
重新整理緩沖區
- 緩沖區重新整理函數
flush()
該函數被調用後,會進行一次磁盤互動,将緩沖區中的内容寫入到磁盤。
我們用下面的個例子,具體學習一下行緩沖和緩沖區函數的用法及作用。
舉個例子1(行緩沖)
輸入以下代碼:

在控制台輸入:
我們看一下,我們寫入的檔案test:
你沒看錯!是空的~
現在我們更改一下代碼:
在控制台輸入:
我們再看一下,我們寫入的檔案test:
以上結果論證了我們的理論:行緩沖在遇到換行符時,才會與磁盤進行互動。即在行緩沖模式下,資料從緩沖區寫入磁盤的條件是:遇到換行符。
舉個例子2(隻有把系統預設緩沖區大小寫滿,才會自動重新整理)
輸入以下代碼:
在控制台輸入:
看一下檔案test:
空的~~因為就這麼幾個位元組,是不會把系統預設緩沖區寫滿的,我們退出循環,close一下檔案對象,重新整理一下緩沖區:
看一下檔案test:
有資料啦~
那麼有沒有不用關閉檔案,就可以立即重新整理緩沖區的方法呢?有的呢,用flush函數就可以了!請看下面的例子。
舉個例子3(flush()重新整理緩沖區)
輸入以下代碼:
在控制台輸入: