c - 在 C 中测试目录是否存在

标签 c testing permissions directory

我有一个应该创建目录的函数。我要测试确保目录是

  • 创建,并且
  • 拥有正确的权限

我不能使用 lstat,因为当我这样做时我得到了 EPERM(我假设我不应该对目录了解那么多)。那么我还应该使用什么?我可以尝试使用 opendir 打开它,但这并没有告诉我它的权限是什么。

最佳答案

实际上,是的,您应该使用 statlstat,这取决于目录是否是符号链接(symbolic link)。如果您从 lstat 获取 EPERM,这可能意味着您传递给 lstat 的目录是一个链接,它指向您没有适当权限的某个地方甚至查看目录或文件是否存在。

事实上,您确定应该使用 lstat 而不仅仅是 stat 吗?

关于c - 在 C 中测试目录是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303071/

相关文章:

c - 如何在 C 中从 stderr 检索内容?

c - 通过指针传递参数

c - 修复卡尔曼平滑函数

java - 编写高效且无冗余的测试

testing - 如何测试 Rust 程序传递给另一个程序的参数?

permissions - silverstripe - Assets 文件夹的文件权限

c - 如果无法获得 websocket 连接则退出应用程序的逻辑

linux - 在 Linux 中复制时,权限和所有者是否保留?

php - Doctrine - 生产服务器上的警告消息

testing - 如何使用 TestCafe 向上滚动和向下滚动?