linux -> c/c++ 之文件的基本操作

打开文件/创建文件

#include <fcntl.h>
int open(const char * path_name,int flag); //打开现有的文件
int open(const char *path_name.int flag,mode_t mode); //打开
文件,如果文件不存在,则创建他  

int create(const char * path_name,mode_t mode); //创建文件 (不打开)

@ path_name :文件名(包含路径)
@ flag:指定文件的打开方式
- 只读:O_RDONLY
- 只写:O_WRONLY
- 读写:O_RDWR
以上3个常量只可以互斥使用(只可以用一个)
- O_CREATE 当文件不存在时创建它,此时需要使用第三个参数
- O_TRUNC 截断
- O_APPEND 追加
- O_NONBLOCK/O_NDELAY 以非阻塞的方式打开
- O_SYNC 以同步i/o的方式打开,任何写操作都会使进程被阻塞
以上常量可以用 | 连接
@mode :定义被创建的文件的读写等管理权限
常量以 S_开头 ,后边接权限的缩写
u g o a 分别代表 所有者 所属组 其他人 全部
r w x 读 写 执行
@返回值 文件描述符 fd

关闭

#include <unistd.h>
int close(int fd)

@fd 文件描述符

将数据写/读文件 / 文件偏移量计算

#include<unistd.h>
ssize_t write(int fd,void * buf, size_t count);
ssize_t read(int fd,void *buf, size_t count);
off_t lseek(int fds,off_t offset,int whence);

@ offset :文件偏移量
@ whence:
- SEEK_SEK :设置起始偏移量为文件开始的位置
- SEEK_CUR:设置起始偏移量为当前偏移量
- SEEK_END : 设置起始偏移量为文件末尾

猜你喜欢

转载自blog.csdn.net/qq_33775402/article/details/77893498
今日推荐