首頁>Club>
15
回覆列表
  • 1 # pietr49411

    目前C 語言所使用的磁碟檔案系統有兩大類:一類稱為緩衝檔案系統,又稱為標準檔案系統;另一類稱為非緩衝檔案系統。緩衝檔案系統的特點是:系統自動地在記憶體區為每一個正在使用的檔案開闢一個緩衝區。從磁碟向記憶體讀入資料時,則一次從磁碟檔案將一些資料輸入到記憶體緩衝區(充滿緩衝區),然後再從緩衝區逐個地將資料送給接收變數;向磁碟檔案輸出資料時,先將資料送到記憶體中的緩衝區,裝滿緩衝區後才一起送到磁碟去。用緩衝區可以一次讀入一批資料,或輸出一批資料,而不是執行一次輸入或輸出函式就去訪問一次磁碟,這樣做的目的是減少對磁碟的實際讀寫次數,因為每一次讀寫都要移動磁頭並尋找磁軌扇區,花費一定的時間。緩衝區的大小由各個具體的C 版本確定,一般為512 位元組。緩衝檔案系統的讀寫,如圖10.2 所示。非緩衝檔案系統不由系統自動設定緩衝區,而由使用者自己根據需要設定。在傳統的UNIX 系統下,用緩衝檔案系統來處理文字檔案,用非緩衝檔案系統處理二進位制檔案。1983 年ANSI C 標準決定不採用非緩衝檔案系統,而只採用緩衝檔案系統。即用緩衝檔案系統處理文字檔案,也用它來處理二進位制檔案。也就是將緩衝檔案系統擴充為可以處理二進位制檔案。一般把緩衝檔案系統的輸入輸出稱為標準輸入輸出(標準I/O),非緩衝檔案系統的輸入輸出稱為系統輸入輸出(系統I/O)。在C 語言中,沒有輸入輸出語句,對檔案的讀寫都是用庫函式來實現的。ANSI 規定了標準輸入輸出函式,用它們對檔案進行讀寫。本章主要介紹ANSI C 的檔案系統以及對其讀寫方法。

  • 中秋節和大豐收的關聯?
  • 車是開得越快越費油嗎?