2010-07-21 2 views
1

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

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

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

+0

stat - это правильный способ сделать это afaik. Что-то еще происходит. – frankc

+0

Это не вопрос C, а вопрос API файловой системы. На какой ОС вы работаете? –

ответ

3

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

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

+0

arg. Я был глуп. Ваше доверие помогло мне найти мою вину. Благодаря! – rampion

Смежные вопросы