Linux中的open函式簡要說明

2021-05-24 02:36:27 字數 956 閱讀 5128

與標準c庫中的fopen函式

file *fp;

fp = fopen("filename", "arg");

不同,linux中用於開啟和建立檔案的open 函式如下:

#include<fcntl.h>

int open(const char *pathname, int oflag, ... /* mode_t mode */);

返回值:成功則返回檔案描述符,否則返回 -1

其中,pathname 是待開啟/建立檔案的路徑名(如 c:/cpp/a.cpp);oflag 用於指定檔案的開啟/建立模式,這個引數可由以下常量(定義於 fcntl.h)通過邏輯或構成。

o_rdonly      唯讀模式 

o_wronly      只寫模式 

o_rdwr        讀寫模式

開啟/建立檔案時,至少得使用上述三個常量中的乙個。以下常量是選用的:

以下三個常量同樣是選用的,它們用於同步輸入輸出

o_dsync        等待物理 i/o 結束後再 write。在不影響讀取新寫入的資料的前提下,不等待檔案屬性更新。 

o_rsync        read 等待所有寫入同一區域的寫操作完成後再進行

o_sync         等待物理 i/o 結束後再 write,包括更新檔案屬性的 i/o

open 返回的檔案描述符一定是最小的未被使用的描述符。

對於 open 函式來說,第三個引數(...)僅當建立新檔案時才使用,用於指定檔案的訪問許可權位(access permission bits)。比如在向系統申請

共享記憶體時,使用的記憶體分配函式mmap時需要傳入乙個指向檔案指標mm_fd。這裡我們就是通過open函式來得到fd的值的。

mm_fd = open("./map.shm", o_rdwr | o_creat, 0666);

Linux中open函式詳解

open 開啟檔案 相關函式 read,write,fcntl,close,link,stat,umask,unlink,fopen 頭文件 include include include 定義函式 int open const char pathname,int flags int open co...

linux中open 函式的mode t 含義

開啟檔案 新建檔案和關閉檔案操作 開啟檔案操作使用系統呼叫函式open 該函式的作用是建立乙個檔案描述符,其他的函式可以通過檔案描述符對指定檔案進行讀取與寫入的操作。開啟檔案的一般形式是 open 檔案路徑,標誌 函式的返回值是檔案描述符,如果開啟檔案成功返回乙個正整數,否則返回 1。標誌是用於指定...

python中的open函式

這裡簡單記錄一下python中的with open 函式中的引數設定 python的open方法用來開啟乙個檔案。第乙個引數是檔案的位置和檔名,第二個引數是讀寫模式。這裡我們採用w模式,也就是寫模式。在這種模式下,檔案原有的內容將會被刪除。其中對於第二個引數 ru 或 ua 以讀方式開啟,同時提供通...