1 回答

TA貢獻1770條經驗 獲得超3個贊
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
返回值:成功則返回文件描述符,否則返回 -1
對于open函數來說,第三個參數僅當創建新文件時(即 使用了O_CREAT 時)才使用,用于指定文件的訪問權限位(access permission bits)。pathname 是待打開/創建文件的POSIX路徑名(如/home/user/a.cpp);flags 用于指定文件的打開/創建模式,這個參數可由以下常量(定義于fcntl.h)通過邏輯位或邏輯構成。
O_RDONLY 只讀模式
O_WRONLY 只寫模式
O_RDWR 讀寫模式
打開/創建文件時,至少得使用上述三個常量中的一個。以下常量是選用的:
O_APPEND 每次寫操作都寫入文件的末尾
O_CREAT 如果指定文件不存在,則創建這個文件
O_EXCL 如果要創建的文件已存在,則返回 -1,并且修改 errno 的值
O_TRUNC 如果文件存在,并且以只寫/讀寫方式打開,則清空文件全部內容(即將其長度截短為0)
O_NOCTTY 如果路徑名指向終端設備,不要把這個設備用作控制終端。
O_NONBLOCK 如果路徑名指向 FIFO/塊文件/字符文件,則把文件的打開和后繼 I/O
- 1 回答
- 0 關注
- 741 瀏覽
添加回答
舉報