a) 建立檔案:Int creat(const char *filename, mode_t mode)
1. filename:要建立的檔案名稱
2. #include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
3. mode:建立模式:只能控制建立使用者的寫屬性,其餘使用者都是不可寫,所以一般是755
a) S_IRUSR:可讀 ->1
b) S_IWUSR:可寫 ->2
c) S_IXUSR:可執行 ->4
d) S_IRWXU:可讀寫執行 ->7
4. 傳回值:成功返回0,不成功返回-1
b) 檔案描述:
1. 本質:一個非負整數
c) 檔案開啟:
1. Int open(const char *pathname, int flags, [mode])
2. #include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
3. 常見的開啟標誌:
a) O_RDONLY:唯讀
b) O_WRONLY:唯寫
c) O_RDWR:讀寫
d) O_APPEND:追加方式
e) O_CREAT:建立,當開啟的檔案不存在時建立一個,必須使用3個參數的open,
f) O_NOBLOCK:非阻塞方式開啟
d) 檔案關閉:int close(int fd)
e) 系統調用:讀int read(int fd, const void *buf, size_t length)
1. 傳回值:實際讀入長度
f) 寫:int write(int fd, const void *buf, size_t length)
1. 傳回值:實際寫入長度
g) 定位:int lseek(int fd, offset_t offset, int whence)
1. 說明:相對whence移動offset個位元組
2. Whence取值
a) SEEK_SET:相對檔案頭
b) SEEK_CUR:相對當前位置
c) SEEK_END:相對檔案末尾
3. 傳回值:指標移動後偏離檔案頭的位元組數
4. 計算檔案長度:移動檔案尾,位移0的傳回值
h) 判斷:int access(const char*pathname, int mode)
1. 作用:判斷檔案是否可以進行某種操作
2. mode:
a) R_OK:檔案可讀
b) W_OK:檔案可寫
c) X_OK:檔案可執行
d) F_OK:檔案存在
3. 傳回值:成功時返回0,不符合時返回-1