gpt4 book ai didi

c - 如何在 C 中最近创建的文件夹和文件中具有读取权限?

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:49 24 4
gpt4 key购买 nike

我创建了一个文件夹,在打开该文件夹内的一个文件后,我在上面写了一个文件。碰巧在那之后我尝试打开文件但我没有权限因此我必须手动更改它。

/* str1 has tha name of the folder */
/* str the bytes I want to write in the file inside the folder*/
...

mkdir(str1,0777);
if (filefd < 0) {

strncpy(auxstr, str, MAX_MSG + 1);
strcat(str1,"\\");
strcat(str1, auxstr);
filefd = open (str1, O_RDWR | O_CREAT | O_TRUNC);

nbytes -= (strlen(str) + 1);
memcpy(auxstr, &str[strlen(str)+1], nbytes);
memcpy(str, auxstr, nbytes);

}

/*write to the file */
if ((nwritten = write(filefd, str, nbytes)) != nbytes) {
printf ("can't write on file\n");
break;
}

我应该更改什么才能获得打开创建的文件的权限?

非常感谢,


:s

with = 0_CREATE 我仍然有没有权限读取文件的问题。我必须手动设置它们


我已经有了 0_CREAT 了

打开(str1,O_RDWR | O_CREAT | O_TRUNC);

最佳答案

您忘记了 open() 的第三个参数。

带有 O_CREATopen() 的第三个参数正是新创建的文件将拥有的权限。

引用资料:

关于c - 如何在 C 中最近创建的文件夹和文件中具有读取权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/308349/

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