这篇主要是关于参数的笔记,没什么干货
open的flags主要分为一下几种
- t1:文件访问模式标志,不能同时使用只能指定其中一种
- t2:文件创建标志
- t3:已打开文件的状态标志
标志 | 用途 | 统一UNIX规范版本 | 类型 |
---|---|---|---|
O_RDONLY | 以只读方式打开 | v3 | t1 |
O_WRONLY | 以只写方式打开 | v3 | t1 |
O_RDWR | 以读写方式打开 | v3 | t1 |
O_CLOEXEC | 设置close-on-exec标志 | v4 | t2 |
O_CREAT | 若文件不存在则创建之 | v3 | t2 |
O_DIRECT | 无缓冲的输入/输出 | t2 | |
O_DIRECTORY | 如果pathname不是文件夹,则失败 | v4 | t2 |
O_EXCL | 结合O_CREAT参数使用,专门用于创建文件 | v3 | t2 |
O_LARGEFILE | 在32位系统使用标志打开大文件 | t2 | |
O_NOATIME | 调用read,不修改文件的最近访问时间 | t2 | |
O_NOCTTY | 不让pathname(指向的终端设备)成为控制终端 | v3 | t2 |
O_NOFOLLOW | 对符号链接不予解引用 | v4 | t2 |
O_TRUNC | 截断已有文件,使其长度为零 | v3 | t2 |
O_APPEND | 总在文件尾部追加 | v3 | t3 |
O_ASYNC | 当IO操作可用,产生信号通知进程 | t3 | |
O_DSYNC | 提供同步的IO数据完整性 | v3 | t3 |
O_NONBLOCK | 以非阻塞方式打开 | v3 | t3 |
O_SYNC | 以同步方式写入文件 | v3 | t3 |
有疑问加站长微信联系(非本文作者)