open,打開一個文件、創建一個文件或判斷一個文件是否存在。
頭文件:<sys/types.h>? <sys/stat.h>? <fcntl.h>
重載函數有:int open(const char *pathname, int flags)
int open(const char *pathname, int flags, mode_t mode)
int creat(const char *pathname, mode_t mode)
flags為打開方式:O_RDONLY只讀、O_WRONLY只寫、O_RDWR讀寫、O_CREAT創建、O_EXCL判斷是否存在、O_TRUNC清空文件。
mode為創建時的權限。
打開錯誤時返回-1,正確打開時返回對應的文件描述符。
?
read,讀一個已經打開的問價。
頭文件:<unistd.h>
函數有:ssize_t read(int fd, void *buf, size_t count)
size_t無符號整數,ssize_t有符號整數。
fd文件描述符。
buf提供的緩沖區,讀出的數據存放于此。
count要讀的字符數。
執行錯誤時返回-1,正確時返回讀出的字符數。
?
write,向一個文件寫入數據。
頭文件:<unistd.h>
函數有:ssize_t write(int fd, const void *but, size_t count)
?文件類型:
- 文件
d 目錄
l 符號鏈接
(偽文件)不占用磁盤
s 套接字
b 塊設備
c 字符設備
p 管道
?