文件操作-緩衝區

今天我們簡單談一談緩衝區,
定義:緩衝區(buffer),它是內存空間的一部分。也就是說,在內存空間中預留了一定的存儲空間,這些存儲空間用來緩衝輸入或輸出的數據,這部分預留的空間就叫做緩衝區,顯然緩衝區是具有一定大小的。
關於緩衝可以大致分爲:無緩衝、行緩衝、全緩衝。
1.首先我們談談行緩衝(比如數據向顯示器顯示)
顧名思義,行緩衝就是一行數據輸出結束進行顯示。
舉個例子:
這裏由於vs下的效果不明顯,所以我們使用一下linux系統
在這裏插入圖片描述
這個例子,可以看出是先顯示hello,coutinho再睡眠,因爲我們加了\n,所以這個也符合我們的行緩衝的定義,由於已經換行,所以就顯示出來該字符串,下面我們再來看看
在這裏插入圖片描述
這裏我們可以看到,我們在程序中並沒有加\n,所以他不滿足行緩衝,但是由於程序跑完了,最終退出時,所以顯示了字符串(這裏說一下,對於行緩衝,不單單是一行結束纔可以顯示,也可以通過強制讓其刷新,最終顯示,這裏的程序退出就是一種方式)關於其他方式,大家可以自行研究,就比如c自帶的標準輸入、輸出函數。
簡單舉個例子
在這裏插入圖片描述
2.關於行緩衝我們就提到這裏,下面我們談談全緩衝,這裏全緩衝主要是針對硬盤的緩衝輸入輸出,我們舉個例子
全緩衝可以再vs下看,效果也是比較明顯的(這裏我們使用調試的方法,比較明顯)
在這裏插入圖片描述
構建一個新的txt文件,內容爲0kb,這是顯然的
在這裏插入圖片描述
當我們寫入數據後,文件內容大小還是0kb
在這裏插入圖片描述
而當我們(關閉文件)程序退出後,文件的內容大小變爲1kb,這很明顯就說明了全緩衝的概念(程序裝滿緩衝區進行顯示,或者程序退出進行顯示)。
今天,較爲簡單明瞭的介紹了全緩衝以及行緩衝,較爲簡單,關於無緩衝大家顧名思義也可以直到其意思,在這裏就不談了。
關於文件的操作還有很多,在後邊我會繼續談。拜~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章