linux中open和fopen的區別

時間 2022-08-05 04:40:03

1樓:老男孩教育

linux中open和fopen的區別主要有以下四點:

1、**

從**的角度看,兩者能很好地區分開,這也是最顯而易見的區別:

①open是unix系統呼叫函式,返回的是檔案描述符,它是檔案在檔案描述符表裡的索引;

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

2、移植性

這一點從上面的**可以推斷出來,fopen是c標準函式,因此擁有良好的移植性,而open是unix系統呼叫,移植性有限。如windows下相似的功能使用api函式createfile。

3、適用範圍

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

②fopen是用來操縱普通正規檔案。

4、檔案io層次

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

2樓:

在 c 語言中,open()、read()、write()、close() 函式是對一個二進位制檔案(或者文字檔案)進行的低階操作函式;而fopen()、fread()、fwrite()、fclose() 函式是對一個二進位制檔案(或者文字檔案)進行的高階操作函式。具體的函式引數如何寫法,你可以參考 c 語言庫函式的相關文件。通常情況下,如果要處理的資料比較大的話,低階操作肯定要比高階操作在速度上要快得多。

說明open函式和fopen函式的功能,列舉兩者之間的區別

3樓:匿名使用者

linux下的open和fopen。

open是系統呼叫,它建立了一條檔案或者裝置的訪問路徑

fopen是標準i/o庫函式。使用者檔案和終端的輸入輸出

open和opened區別,關於open和opened的區別

浪味仙女孩子 1 詞性不同。open有兩個詞性 動詞和形容詞。例如,open做動詞 mr chen opened the car door for his wife.陳先生為妻子開啟車門。open做形容詞a wasp flew in the open window.一隻黃蜂飛進了開著的窗子。2 使用...

turn on和open區別?open可以用於那些地方?t

turn on用於開啟電源 電視 音響裝置的開關,如turn on the radio turn on the tv open用於可開啟的門 窗 盒子等,如open the door 等。一般可被open 的,都是可開放可開啟的,turn on 則是抽象的可開啟,這個開啟有 開啟 使之工作 的含義 ...

Linux記憶體中Page cache和buffer cache的區別

七彩虹科技 a buffer is something that has yet to be written to disk.a cache is something that has been read from the disk and stored for later use free中看到的...