LINUX下OPEN函式簡介

2021-05-25 10:31:07 字數 1033 閱讀 5068

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...