gpt4 book ai didi

c - 什么是 `open()` 创建文件时的默认权限?

转载 作者:太空宇宙 更新时间:2023-11-04 06:16:55 25 4
gpt4 key购买 nike

<分区>

几周前我做了一个小项目,但最近它不知何故不再起作用(或者至少,不像以前那样起作用)。

它必须用 open() 创建一个文件,并用一些内容填充它。

[...]
int fd=open(filename, O_RDWR | O_CREAT);
/* write content */
close(fd);
[...]

问题只是它最近不再创建具有正确权限的文件(它是在问题发生时使用 0110 创建的)

我现在知道我只需要像这样指定权限:

int fd=open(filename, O_RDWR | O_CREAT, 0700); /* (for instance) */

但是这个项目仍然可以在一些计算机上运行(不能在 OSX 上运行,但是可以在 Linux 上运行,它是用 0640 创建的,所以它仍然可以运行,因为我还在阅读许可)。

所以这是我的问题:

  • 在创建文件时如何为 open() 函数定义这些默认权限?

(如果我没有明确地将它作为参数传递给我的 open() 调用。)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com