文件IO
open();
头文件
include <sys/types.h>
include <sys/stat.h>
include <fcntl.h>
int open(const char *pathname, int flags);
pathname: 文件名(含路径);
flags: 打开方式;O_RDONLY
O_WRONLY
O_CREAT返回值:成功返回一个文件描述符,失败返回-1
文件描述符为未被占用的最小值0,1,2分别是stdin,stdout,stderr
int open(const char *pathname, int flags, mode_t mode);
mode: 文件的存取权限,用八进制表示,
如: 0666 0777 0664
read();
include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
fd: 文件描述符;
buf: 缓冲区
count: 读取的个数;
返回值:成功返回实际读到的字节数,如果读到文件的末尾或者无数据可读则返回0;失败返回-1;
write();
include <unistd.h>
ssize_t write(int fd, void *buf, size_t count);
fd: 文件描述符;
buf: 缓冲区
count: 写入的个数;
返回值:成功返回实际写入的字节数,失败返回-1;
close();
include <unistd.h>
int close(int fd);
正确返回0, 错误返回-1;
lseek();
include <sys/types.h>
include <unistd.h>
off_t lseek(int fd, off_t offset, int whence);
返回值: 成功:返回当前的位移量; 失败:返回-1;
fd:文件描述符
offset: 偏移量 (可正可负)
whence:SEEK_SET 文件的开头
SEEK_CUR 文件的当前位置
SEEK_END 文件的末尾