心理

當前位置 /首頁/完美生活/心理/列表

open和fopen的區別

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有緩衝區

TAG標籤:fopen #