O_RDONLY 檔案爲 只讀
O_WRONLY 檔案爲 只寫
O_RDWR 檔案爲 可讀可寫
O_APPEND 檔案爲 可追加
O_CREAT 在沒有檔案的時候建立
O_TRUNC 當檔案存在且爲可讀或可寫狀態時 清空已存在內容
以上六個檔案開啓方式 較常用 其他標誌可自己查詢man手冊
由linux man手冊可查詢檔案open函數的用法
可以看出open有兩個函數,
並且在使用之前 需要包含三個標頭檔案
open()
成功:返回值爲檔案描述符(一般非0)
失敗:返回值爲-1
close()
成功:返回值爲0
失敗:返回值爲-1
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
1.int open(const char *pathname,int flags);
用於現存檔案的開啓,pathname爲檔案路徑(包含檔名)
flags 爲檔案開啓的方式
比如開頭介紹的五種方式,注意O_CREAT 一般用於函數(2)
2.int open(const char *pathname,int flags,mode_t mode);
pathname 和 flags 同函數(1),唯一不同的是,函數(2)一般用於未有檔案的開啓方式
mode 可理解爲 賦予檔案的許可權 爲unsigned int 型別 四位元組,
比如 值可爲0600
0表示八進制
6表示檔案可讀可寫 6的二進制數爲0110 第一位許可權總是爲0 第一個1爲可讀 第二1表示可寫
所以0600表示 檔案使用者有可讀可寫許可權
程式碼演示
檔案不存在時: