亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

open函數用法?

open函數用法?

iOS
泛舟湖上清波郎朗 2019-02-13 14:11:29
vc6內想創建一個可讀可寫文件,用open(FileName,O_RDWR|O_CREAT) 總是創建只讀的文件,難道還需要第三個參數嗎?第三個參數如何用?
查看完整描述

1 回答

?
德瑪西亞99

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



查看完整回答
反對 回復 2019-03-19
  • 1 回答
  • 0 關注
  • 741 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號