gpt4 book ai didi

c - 使用 MinGW 如何创建没有只读文件属性的文件?

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

当我尝试覆盖现有文件时,出现“权限被拒绝”错误。我注意到创建的文件设置了“只读”属性。当我手动取消设置时,我可以覆盖文件。有没有我可以传递给 open() 的标志,它会在我创建文件时自动取消设置?

下面是一个说明问题的简单示例。第一次运行有效,但第二次运行产生“权限被拒绝”错误。

谢谢,Zach(MingW/Windows 7 新手)

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <errno.h>

int main(int argc, char ** argv) {
int fid;
double data = 12.0;

if ( (fid = open("junk.data", O_WRONLY | O_CREAT | O_BINARY)) == -1 ) {
printf("ERROR opening.\n\terror is:%s\n", strerror(errno));
return 1;
}

write(fid, &data, sizeof(double));

close(fid);

return 0;
}

最佳答案

我尝试了 0644 和 S_IRUSR | S_IWUSR(包含 sys/stat.h)并且两者都有效。

确保您实际上将它添加为 open 的第三个参数,而不是作为新术语添加到周围的括号中(就像我第一次发生的那样,并且编译得很好)

关于c - 使用 MinGW 如何创建没有只读文件属性的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5516011/

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