微吼云上線多路互動直播服務 加速多場景互動直播落地
793
2025-04-01
文章目錄
一、C 語言中的文件操作函數
二、磁盤與內存緩沖區
三、緩沖區工作機制
一、C 語言中的文件操作函數
讀取
文本文件
可以使用
getc
,
fgets
,
fscanf
函數 , 向
文本文件
寫出數據可以使用
putc
,
fputs
,
fprintf
函數 ;
讀取
二進制文件
可以使用
fread
函數 , 向
二進制文件
寫出數據可以使用
fwrite
函數 ;
二、磁盤與內存緩沖區
上述所有讀寫文件的函數 , 都是緩沖區函數 , 即 C 語言中的文件操作 , 都是緩沖區函數 ;
磁盤 是由 操作系統 進行讀寫的 , 用戶寫的程序 , 不能直接操作磁盤 ;
操作系統 提供 讀寫文件的
系統調用 接口
, 在該接口上 是
C 語言的庫函數
, 最上層就是
用戶程序 ;
如果要操作硬件磁盤 , 就需要知道磁盤的驅動程序 , 磁盤扇區操作等 , 這就比較復雜了 ;
C 語言庫函數 中 , 維護了一個緩沖區 , 這個緩沖區是 內存 中的緩沖區 ;
使用
C 語言文件操作函數
讀寫的 數據 , 不是直接來自磁盤 , 而是來自
內存中緩沖區 ;
三、緩沖區工作機制
緩沖區工作機制 :
如果
緩沖區大小 64KB
, 假如使用 C 語言庫函數 fread
讀取一個字節數據
,
實際上會從磁盤文件中讀取 64KB 數據 ,
放入內存緩沖區中 ;
這是因為 讀寫內存的效率 遠遠高于 讀寫磁盤的效率 ;
這樣的好處是 ,
讀取第 2 個字節時 , 可以直接從內存中讀取 , 不需要再次讀寫磁盤 ;
該機制可以
增加用戶程序的執行效率 ,
減少磁盤訪問次數 ;
磁盤有讀寫壽命 , 讀寫次數到了 , 磁盤就會報廢 ;
緩沖區內容寫入磁盤的時機 :
緩沖區滿了
調用 fclose 關閉文件函數
C 語言
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。