靚麗時尚館

位置:首頁 > 健康生活 > 心理

open和fopen的區別

心理5.81K
open和fopen的區別

1、來源不同

open是unix系統呼叫函式(包括Linux),返回的是檔案描述符,它是檔案描述符表裡的索引。

fopen是ANSIC標準中的C語言庫函式,在不同的系統中應該調不同的核心api,返回的是一個指向檔案結構的指標。

2、移植性

從來源看,fopen是C標準函式,因此擁有良好的移植性,而open是unix系統呼叫,移植性有限,如windows下相似的功能使用api函式CreatFile。

3、使用範圍

open返回檔案描述符,而檔案描述符是unnix系統下的重要概念,unix下的一切裝置都是檔案的形式操作,如網路套接字、硬體裝置等、當然包括操作普通正規檔案(Regular File)

Fopen是從來操縱普通正規檔案(Regular File)的

4、 檔案IO層次

如果從檔案IO的角度來看,open屬於低階IO函式,fopen屬於高階IO函式,低階和高階的簡單區分標準是:誰離系統核心更近,低階檔案IO執行在核心態、高階檔案IO執行在使用者態。

5、 緩衝區

open沒緩衝區,fopen有緩衝區

標籤:fopen