栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

系统文件接口open

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

系统文件接口open

系统文件接口open介绍

man手册介绍

参数1:文件路径名字,一般都是当前路径打开,直接输入文件名即可

重点:
参数2:flags – 表示你要选择以哪种方式打开,常用有以下几种

O_TRUNC --- 清空文件  open truncated
O_WRonLY  --- 只写打开 open write only
O_RDonLY  --- 只读打开  open read only
O_APPEND --- 追加打开   open append
O_CREAT  --- 若文件不存在,创建一个新的

注:这里的选项和c语言给的选项是不同的,c语言的w选项就是清空再写入,a选项就是追加写,这里不是。

这里的追加写要包含O_WRonLY 和 O_APPEND
这里的清空写要包含O_TRUNC 和 O_WRONLY


选项与选项之间用|隔开。
比如像这样:

原因:我们可以先看一下linux内核如何定义open flags的

可以发现,内核是用位段来实现flags的。
也就是说,每一个bit位都代表着一个权限。os看打开了什么权限,就看flag这个变量的第几个bit位是1即可

参数3:mode。如果要选用了O_CREAT选项且真的创建了一个文件,那么mode就是这个文件的初始权限。
比如:0644 即rw-r–r--

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744312.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号