在C中测试目录是否存在

时间:2010-07-21 19:33:53

标签: c testing permissions directory

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

  • 已创建,
  • 拥有正确的权限

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

1 个答案:

答案 0 :(得分:3)

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

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