Linux C中的open函式

2021-09-24 10:34:00 字數 1027 閱讀 5766

open函式屬於linux中系統io,用於「開啟」檔案,**開啟乙個檔案意味著獲得了這個檔案的訪問控制代碼。

int fd = open(引數1,引數2,引數3);

int fd = open(const char *pathname,int flags,mode_t mode);

1.控制代碼(file descriptor 簡稱fd)

首先每個檔案都屬於自己的控制代碼,例如標準輸入是0,標準輸出是1,標準出錯是2。

每開啟乙個檔案就會返回控制代碼來操作這個檔案,一般是從3開始,然後4,5,6一直下去。

close(fd)之後控制代碼就返回給系統,例如開啟乙個檔案後fd是3,close之後再開啟另外乙個檔案也還是3,但代表的檔案不一樣了。

2.使用open前需要先包含標頭檔案

#include

#include

#include

3.引數1(pathname)

即將要開啟的檔案路徑,例如:「a.txt」當前目錄下的a.txt檔案

4.引數2(flags)

flags分為兩類:主類,副類

主類:o_rdonly 以唯讀方式開啟   /   o_wronly 以只寫方式開啟   /o_rdwr 以可讀可寫方式開啟

三這是互斥的

副類:o_creat 如果檔案不存在則建立該檔案

o_excl 如果使用o_creat選項且檔案存在,則返回錯誤訊息

o_noctty 如果檔案為終端,那麼終端不可以呼叫open系統呼叫的那個程序的控制終端

o_trunc 如果檔案已經存在澤刪除檔案中原有資料

主副可以配合使用,例如:o_rdwr|o_creat|o_trunc

5.引數3(mode)

mode:如果檔案被新建,指定其許可權未mode

mode是八進位制許可權碼,0777表示檔案所有者   該檔案使用者組     其他使用者都有可讀可寫可執行許可權

python中的open函式

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

Ajax中的open函式小結

ajax的open函式形式為open bstrmethod,bstrurl,varasync,bstruser,bstrpassword 其中的bstrmethod通常有get和post兩種常用方式,使用get方式需要注意 1 對於get請求 或凡涉及到url傳遞引數的 被傳遞的引數都要先經enco...

JS中open 函式介紹

window object.open url name features replace url 新視窗的url位址 name 新視窗的名稱,可以為空 featurse 屬性控制字串,在此控制視窗的各種屬性,屬性之間以逗號隔開。fullscreen 是否全屏,預設no channelmode 是否顯...