linuxc的open(文件路径,O_WRONLY|O_CREAT)里面的与运算为什么可以实现打不开就创建

2024-07-28 15:30:42 浏览

这个是位或,不是与。位或、位与是这样计算的。如:二进制的010|001结果是011,而010&001结果就是0了。O_WRONLY和O_CREAT的关系就相当于上面的010和001。他们位或的值不是0,位与的值就是0了。0表示什么都不做。用了位或后,就在一个整型的值上设置了不同的标志位,open函数会检测对应的标志位,如果该标志位设置为1了,就执行对应的操作。O_CREAT的意思就是创建的意思,在这里就是将创建文件的标志位设置为1,这样open函数无法写这个文件的时候就会创建他。

c的open路径,OWRO

linux中,open函数用于打开文件,并返回一个文件描述符。文件描述符是一个非负整数,用于标识打开的文件。当open函数成功打开文件时,它会返回一个大于等于3的文件描述符。其中,标准输入、标准输出和标准错误输出的文件描述符分别为0、1和2。

因此,当open函数返回3时,表示成功打开了一个新的文件,并且该文件的文件描述符为3。这个文件描述符可以用于后续的读写操作。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。