日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )

發(fā)布時間:2025/6/17 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、C 語言中的文件操作函數(shù)
  • 二、磁盤與內(nèi)存緩沖區(qū)
  • 三、緩沖區(qū)工作機制





一、C 語言中的文件操作函數(shù)



讀取 文本文件 可以使用 getc , fgets , fscanf 函數(shù) , 向 文本文件 寫出數(shù)據(jù)可以使用 putc , fputs , fprintf 函數(shù) ;

讀取 二進制文件 可以使用 fread 函數(shù) , 向 二進制文件 寫出數(shù)據(jù)可以使用 fwrite 函數(shù) ;





二、磁盤與內(nèi)存緩沖區(qū)



上述所有讀寫文件的函數(shù) , 都是緩沖區(qū)函數(shù) , 即 C 語言中的文件操作 , 都是緩沖區(qū)函數(shù) ;


磁盤 是由 操作系統(tǒng) 進行讀寫的 , 用戶寫的程序 , 不能直接操作磁盤 ;

操作系統(tǒng) 提供 讀寫文件的 系統(tǒng)調(diào)用 接口 , 在該接口上 是 C 語言的庫函數(shù) , 最上層就是 用戶程序 ;


如果要操作硬件磁盤 , 就需要知道磁盤的驅(qū)動程序 , 磁盤扇區(qū)操作等 , 這就比較復(fù)雜了 ;


C 語言庫函數(shù) 中 , 維護了一個緩沖區(qū) , 這個緩沖區(qū)是 內(nèi)存 中的緩沖區(qū) ;

使用 C 語言文件操作函數(shù) 讀寫的 數(shù)據(jù) , 不是直接來自磁盤 , 而是來自 內(nèi)存中緩沖區(qū) ;





三、緩沖區(qū)工作機制



緩沖區(qū)工作機制 :

如果 緩沖區(qū)大小 64KB , 假如使用 C 語言庫函數(shù) fread 讀取一個字節(jié)數(shù)據(jù) , 實際上會從磁盤文件中讀取 64KB 數(shù)據(jù) , 放入內(nèi)存緩沖區(qū)中 ;

這是因為 讀寫內(nèi)存的效率 遠遠高于 讀寫磁盤的效率 ;

這樣的好處是 , 讀取第 2 個字節(jié)時 , 可以直接從內(nèi)存中讀取 , 不需要再次讀寫磁盤 ;


該機制可以 增加用戶程序的執(zhí)行效率 , 減少磁盤訪問次數(shù) ;

磁盤有讀寫壽命 , 讀寫次數(shù)到了 , 磁盤就會報廢 ;


緩沖區(qū)內(nèi)容寫入磁盤的時機 :

  • 緩沖區(qū)滿了
  • 調(diào)用 fclose 關(guān)閉文件函數(shù)

總結(jié)

以上是生活随笔為你收集整理的【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。