问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中_open函数和open函数有什么区别?

发布网友 发布时间:2022-04-20 15:46

我来回答

1个回答

热心网友 时间:2023-07-08 10:53

C语言中open函数
作用:打开和创建文件。
简述:
1
2
3
4
#include<fcntl.h>
intopen(constchar*pathname,intflags);
intopen(constchar*pathname,intflags,mode_tmode);
返回值:成功则返回文件描述符,否则返回-1
对于open函数来说,第三个参数仅当创建新文件时(即
使用了O_CREAT
时)才使用,用于指定文件的访问权限位(access
permission
bits)。pathname
是待打开/创建文件的POSIX路径名(如/home/user/a.cpp);flags
用于指定文件的打开/创建模式,这个参数可由以下常量(定义于fcntl.h)通过逻辑位或逻辑构成。
1
2
3
O_RDONLY只读模式
O_WRONLY只写模式
O_RDWR读写模式
打开/创建文件时,至少得使用上述三个常量中的一个。以下常量是选用的:
1
2
3
4
5
6
O_APPEND每次写操作都写入文件的末尾
O_CREAT如果指定文件不存在,则创建这个文件
O_EXCL如果要创建的文件已存在,则返回-1,并且修改errno的值
O_TRUNC如果文件存在,并且以只写/读写方式打开,则清空文件全部内容(即将其长度截短为0)
O_NOCTTY如果路径名指向终端设备,不要把这个设备用作控制终端。
O_NONBLOCK如果路径名指向FIFO/块文件/字符文件,则把文件的打开和后继I/O
设置为非阻塞模式
1
(nonblockingmode)
以下三个常量同样是选用的,它们用于同步输入输出
1
2
3
4
O_DSYNC等待物理I/O结束后再write。在不影响读取新写入的数据的
前提下,不等待
文件属性
更新。
1
2
O_RSYNCread等待所有写入同一区域的写操作完成后再进行
O_SYNC等待物理I/O结束后再write,包括更新文件属性的I/O
open返回的文件描述符一定是最小的未被使用的描述符。
如果
NAME_MAX(文件名最大长度,不包括'\0')是
14,而我们想在当前目录下创建文件名长度超过
14
字节的文件,早期的
System
V
系统(如
SVR2)会截断超出部分,只保留前
14
个字节;而由
BSD
衍生的(BSD-derived)系统会返回错误信息,并且把
errno
置为
ENAMETOOLONG。
POSIX.1
引入常量
_POSIX_NO_TRUNC
用于决定是否截断长文件名/长路径名。如果_POSIX_NO_TRUNC
设定为禁止截断,并且路径名长度超过
PATH_MAX(包括
'\0'),或者组成路径名的任意文件名长度超过
NAME_MAX,则返回错误信息,并且把
errno
置为
ENAMETOOLONG。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
308S标注使用0W-30的机油,如果用5w-40的有影响么 如果飞船在飞行时遇到一粒沙,飞船是否会直接报废?为什么呢?_百度... 火车或地铁行驶中的苍蝇或蚊子这些飞虫是怎么飞的 我一直很疑惑,在地铁公交上的飞虫蚊子之类的,它们不停在杆上,就这么... 固态硬盘的读取是不是都比写入要快啊?才买了个东芝的Q Pro,发现写入496... 我是非护理专业的专科生 但我想考护理资格证 该怎么办呢 我是非护理专业的专科生 但我想考护理资格证 该怎么办? 中专非护理专业单招可以考护理吗 苹果宣布的AppleWatchSeries6和AppleWatchSE有哪些新功能和价格? 描写榕树生命力顽强的诗句 遇到吉他谱里的一个调音符号,叫open C 什么2=c 4=... C语言中open函数如何使用使用 本人刚学吉他不久所以想向各位高手们请教下 open C... 吉他open c调怎么调? 钉钉属于哪种类型的信息系统 钉钉支持哪些系统? 钉钉软件是哪个上市公司开发的? 钉钉属于哪一信息系统?为什么? 脚被烫伤必须穿鞋怎么办 大牌鞋内烫金掉色 被开水烫伤,轻度烫伤,能穿鞋子吗 脚汗出得多的人穿什么样的烫底的鞋更合适? 春天一到,脚开始臭了,每天都用热水烫脚可还是穿... 网上看到了「烫」新出的社交女鞋,请问烫鞋子在哪... 鞋子消毒的方法有哪些 高帮帆布鞋夏天穿会很热吗? 新鞋子一穿就臭了,为什么啊?总感觉脚在发烫! 脚出汗怎么办,白天鞋都打湿了而且脚还很烫很难受 夏天穿鞋子,脚容易出汗,蜕皮,为什么?求大神帮助 医生,我的脚趾和前脚掌最近很痛,是酸痛和阵痛,... c中Open用法 c 语言open()函数 Svn出现can’t open C\windows和磁盘空间不足 C语言里的的fopen和open的区别 C语言Fopen函数的用法 求问Painter和Open C…还有SAI哪个能画出这幅图这种... c语言open()函数问题 openvc 通过jni处理图片如何返回到java TV helps open c___ eyes 答案是children’s 那么填... Please keep the door(). A.opening B.open C.op opencv3.2中无法打开文件&quot;openvc_world320d.dll&quot;怎... A.has been open B.is open C.is opening open的介绍 怎么用电脑把50多张照片拼在一起?? 电脑怎么把5张照片拼在一起 如何在电脑上将多张图片拼成长图? 在电脑上,怎么样把图片拼起来 淘宝直播申请达人了怎么登陆直播 手机如何淘宝直播 如果我的会员今天到期。我没有续费。明天再续费,...