gpt4 book ai didi

c - Windows 上的 ANSI C 文件权限?

转载 作者:行者123 更新时间:2023-11-30 17:44:30 24 4
gpt4 key购买 nike

我正在使用 CGYWIN gcc (4.8.2),并且正在执行非常基本的文件打开和写入操作,但生成的文件具有 Windows 无法访问的权限。我不明白为什么,我该如何解决这个问题?

// a bunch of curl stuff (CURLOPT_WRITEFUNCTION is write_data)
file = fopen(filename, "wb");
static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
size_t written = fwrite(ptr, size, nmemb, (FILE *)stream);
return written;
}

根据 CGYWIN 终端生成的文件是 -rw-r--r-- 但我最终编写的文件需要可执行权限,我不明白为什么 Windows 上默认没有可执行权限?

最佳答案

Windows 的权限与 Linux 的有很大不同,它使用 ACL该模型允许比 Linux 复杂得多的访问控制,并且很难将其转换为这个简单的 rwxrwxrwx 标志集。但讽刺的是,Windows 的 ACL 并不区分“读取权限”和“执行权限”,对它来说这是同一件事。也许 Cygwin 有它自己的表示方式,但我认为这不是问题所在。如果要写入文件,只需要有写入权限即可。

关于c - Windows 上的 ANSI C 文件权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19968523/

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