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