Проверка существования каталога в C - PullRequest
1 голос
/ 21 июля 2010

У меня есть функция, которая должна создавать каталог. Я хочу проверить, чтобы убедиться, что каталог

  • создано и
  • имеет правильные разрешения

Я не могу использовать lstat, так как я получаю EPERM, когда я делаю это (я предполагаю, что я не должен знать так много о каталоге). Так что еще я должен использовать? Я могу попытаться открыть его с помощью opendir, но это не говорит мне, каковы его разрешения.

1 Ответ

3 голосов
/ 21 июля 2010

На самом деле, да, вы должны использовать stat или lstat, в зависимости от того, является ли каталог символической ссылкой или нет.Если вы получаете EPERM от lstat, это, вероятно, означает, что каталог, который вы передаете на lstat, является ссылкой, и она указывает на то место, где у вас нет соответствующих разрешений, чтобы даже увидеть, существует ли каталог или файл.

На самом деле, вы уверены, что должны использовать lstat, а не просто stat?

...