Создать каталог - PullRequest
       10

Создать каталог

2 голосов
/ 15 июля 2011

Я пытаюсь создать каталог, используя следующий код. Компилируется, но не создает каталог. Есть предложения?

#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
int main(void)
{
  const char base[] = "filename";
  char filename [ FILENAME_MAX ];
  int number = 42;
  sprintf(filename, "%s/%d", base, number);
  printf("filename = \"%s\"\n", filename);
  mkdir (filename, S_IRWXU);
  return 0;
}

Ответы [ 2 ]

2 голосов
/ 15 июля 2011

Каталог "filename" уже существует?mkdir() будет создавать только один каталог за раз;если родительский каталог тоже не существует, сначала вам придется создать его отдельно.

1 голос
/ 15 июля 2011

Скорее всего, он не может создать каталог, потому что вы пытаетесь создать вложенный каталог, а его родитель не существует. mkdir не может рекурсивно создавать каталоги. Но вы можете только догадываться, если вы не проверите должным образом коды возврата и ошибки в вашей программе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...