fopen與open的區別

2021-04-30 11:57:55 字數 1244 閱讀 4705

open和fopen的區別:

1.緩衝檔案系統

緩衝檔案系統的特點是:在記憶體開闢乙個「緩衝區」,為程式中的每乙個檔案使用,當執行讀檔案的操作時,從磁碟檔案將資料先讀入記憶體「緩衝區」, 裝滿後再從記憶體「緩衝區」依此讀入接收的變數。執行寫檔案的操作時,先將資料寫入記憶體「緩衝區」,待記憶體「緩衝區」裝滿後再寫入檔案。由此可以看出,記憶體 「緩衝區」的大小,影響著實際操作外存的次數,記憶體「緩衝區」越大,則操作外存的次數就少,執行速度就快、效率高。一般來說,檔案「緩衝區」的大小隨機器 而定。

fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, freopen, fseek, ftell, rewind等

2.非緩衝檔案系統

緩衝檔案系統是借助檔案結構體指標來對檔案進行管理,通過檔案指標來對檔案進行訪問,既可以讀寫字元、字串、格式化資料,也可以讀寫二進位制數 據。非緩衝檔案系統依賴於作業系統,通過作業系統的功能對檔案進行讀寫,是系統級的輸入輸出,它不設檔案結構體指標,只能讀寫二進位制檔案,但效率高、速度 快,由於ansi標準不再包括非緩衝檔案系統,因此建議大家最好不要選擇它。本書只作簡單介紹。open, close, read, write, getc, getchar, putc, putchar 等

前者屬於低階io,後者是高階io。

前者返回乙個檔案描述符(使用者程式區的),後者返回乙個檔案指標。

前者無緩衝,後者有緩衝。

前者與 read, write 等配合使用, 後者與 fread, fwrite等配合使用。

後者是在前者的基礎上擴充而來的,在大多數情況下,用後者。

open 是系統呼叫 返回的是檔案控制代碼,檔案的控制代碼是檔案在檔案描述副表裡的索引,fopen是c的庫函式,返回的是乙個指向檔案結構的指標。

**自:http://hi.baidu.com/stywt/blog/item/8b35e151775a7b1a367abe11.html

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等配合使用 ...

open與fopen的區別

1.open函式 原型 int open const char path,int access,int mode path 要開啟的檔案路徑和名稱 access 訪問模式 巨集定義和含義如下 o rdonly 1 唯讀開啟 o wronly 2 只寫開啟 o rdwr 4 讀寫開啟 還可選擇以下模式...