gpt4 book ai didi

d - 检查 File/DirEntry 是否可读

转载 作者:行者123 更新时间:2023-12-04 02:45:16 24 4
gpt4 key购买 nike

我在 std.file 中缺少一个函数,该函数检查 DirEntryattributes() 成员是否意味着它可读特定的用户 ID(默认为当前用户)。有人写过这样的逻辑吗?为什么标准库中没有这样一个经常使用的函数?

最佳答案

I know that such a function is not difficult to write.

真的吗?我期待看到您的实现适用于 D 支持的所有系统。这包括对 Windows 和 Linux ACL 的支持,更不用说 SELinux 等安全软件了。

我相当确定检查打开文件是否成功的通用正确方法是尝试打开文件。如果您接受一个近似值,并且只关心 Linux,则可以使用 C eaccess 函数 - 但是,它不是 POSIX 的一部分,并且只能在 Linux 上运行。如果您的程序永远不会以 root 身份运行,您可以使用 access,它是 POSIX 的一部分。就个人而言,如果没有充分的理由,我不会走这条路。如果您担心性能(并且您希望有很多文件存在但由于某种原因不可读),您可以使用 C 函数(fopen 或 POSIX open ),但是我只会在分析实际显示由异常处理引起的瓶颈时才这样做。更不用说,您需要做好抛出异常的准备,正如上面和您之前关于该主题的问题中所讨论的那样。

只需使用异常处理,除非您真的知道自己在做什么。

关于d - 检查 File/DirEntry 是否可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18946850/

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