open與fopen的區別

2021-08-18 16:30:24 字數 454 閱讀 4572

open與fopen的區別

open 是核心的封裝函式  供給應用層呼叫 是核心獨有的函式  不支援跨平台   與 read, write 等配合使用  open是系統呼叫 返回的是檔案控制代碼,檔案的控制代碼是檔案在檔案描述副表裡的索引

fopen  是c的庫函式,返回的是乙個指向檔案結構的指標。

與 fread, fwrite等配合使用  可以移植   fopen 不能對linux驅動進行操作  可以在應用層進行檔案操作

那麼我們在linux中 開啟一項裝置用open 就很好解釋了  我們驅動是向系統註冊的裝置,需要使用系統呼叫函式open 而不是c 庫函式fopen    簡而言之  使用者態通過系統呼叫 陷入核心態的 

正如  fd = open("/dev/xyz", o_rdwr);  如果換成fd = fopen("/dev/xyz", "r+");  編譯是不會報錯的  但是執行時不會對xyz裝置進行操作。

fopen與open的區別

open和fopen的區別 1.緩衝檔案系統 緩衝檔案系統的特點是 在記憶體開闢乙個 緩衝區 為程式中的每乙個檔案使用,當執行讀檔案的操作時,從磁碟檔案將資料先讀入記憶體 緩衝區 裝滿後再從記憶體 緩衝區 依此讀入接收的變數。執行寫檔案的操作時,先將資料寫入記憶體 緩衝區 待記憶體 緩衝區 裝滿後再...

fopen與open的區別

fopen與open的區別 可以參考 4.6,比較詳細的講解了fopen,open,檔案描述符,檔案指標,以及在父程序與子程序的不同.摘自chinaunix open和fopen的區別 前者屬於低階io,後者是高階io。前者返回乙個檔案描述符 使用者程式區的 後者返回乙個檔案指標。前者無緩衝,後者有...

fopen與open的區別

2011 02 25 14 40 23 分類 c 字型大小訂閱 相同點 都是用來完成檔案開啟操作的函式 不同點 open是系統呼叫,返回的是檔案控制代碼,fopen是庫函式,返回的是乙個指向檔案結構的指標 open與 read,write等配合使用,fopen與 fread,fwrite等配合使用 ...