open 函式用於開啟和建立檔案。以下是 open 函式的簡單描述
<fcntl.h>
int open(const char *pathname, int oflag, ... /* mode_t mode */);
返回值:成功則返回檔案描述符,否則返回 -1
對於 open 函式來說,第三個引數(...)僅當建立新檔案時才使用,用於指定檔案的訪問許可權位(access permission bits)。pathname 是待開啟/建立檔案的路徑名(如 c:/cpp/a.cpp);oflag 用於指定檔案的開啟/建立模式,這個引數可由以下常量(定義於 fcntl.h)通過邏輯或構成。
o_rdwr 讀寫模式
開啟/建立檔案時,至少得使用上述三個常量中的乙個。以下常量是選用的:
o_noctty 如果路徑名指向終端裝置,不要把這個裝置用作控制終端。
o_nonblock 如果路徑名指向 fifo/塊檔案/字元檔案,則把檔案的開啟和後繼 i/o
設定為非阻塞模式(nonblocking mode)
以下三個常量同樣是選用的,它們用於同步輸入輸出
o_rsync read 等待所有寫入同一區域的寫操作完成後再進行
o_sync 等待物理 i/o 結束後再 write,包括更新檔案屬性的 i/o
open 返回的檔案描述符一定是最小的未被使用的描述符。
如果 name_max(檔名最大長度,不包括'/0')是 14,而我們想在當前目錄下建立檔名長度超過 14 位元組的檔案,早期的 system v 系統(如 svr2)會截斷超出部分,只保留前 14 個位元組;而由 bsd 衍生的(bsd-derived)系統會返回錯誤資訊,並且把 errno 置為 enametoolong。
posix.1_posix_no_trunc
open函式簡介
1.表頭檔案 include include include 2.定義函式 int open const char pathname,int flags int open const char pathname,int flags,mode t mode 對於 open 函式來說,第三個引數 僅當建...
linux下open函式和creat函式
open 函式用於開啟和建立檔案。以下是 open 函式的簡單描述 include fcntl.h int open const char path,int access,int mode 返回值 成功則返回檔案描述符,否則返回 1 path 要開啟的檔案路徑和名稱 如 c cpp a.cpp ac...
Linux程式設計下open 函式的用法
linux程式設計下open 函式的用法 open 開啟檔案 相關函式 read,write,fcntl,close,link,stat,umask,unlink,fopen 表頭檔案 include include include 定義函式 int open const char pathname...