Use access(2)
在 POSIX 中。在标准 C 中,您能做的最好的事情就是尝试使用以下命令打开它fopen()
看看是否成功。
If fopen()
回报NULL
,你可以尝试使用errno
区分“文件不存在”(errno == ENOENT
)和“权限被拒绝”(errno == EACCES
)案例 - 但不幸的是那两个errno
值也仅由 POSIX 定义。
(即使在 POSIX 上,大多数情况下最好的办法是尝试打开文件,然后查看失败的原因,因为使用access()
引入了明显的竞争条件)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)