分享
【golang系统编程】打开文件使用的flags参数
geange · · 1090 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
这篇主要是关于参数的笔记,没什么干货
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 |
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1090 次点击
上一篇:Golang学习笔记-flag
下一篇:04Gin源码解读
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
这篇主要是关于参数的笔记,没什么干货
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 |