Можно ли создать многоуровневый каталог?

Используя mkdir() (функция C), я могу создать 1-уровневый каталог, если я хочу создать каталог multi_level, например:

 folder/subfolder/subsubfolder 

Является ли это возможным? если да, то как?

4 Solutions collect form web for “Можно ли создать многоуровневый каталог?”

 mkdir --parents folder/subfolder/subsubfolder mkdir -p folder/subfolder/subsubfolder 
 mkdir -p /dir1/dir2/dir3 

Для получения дополнительной информации см. Справочную страницу:

 man mkdir 

Я не пробовал, но что-то вроде:

 #include <libgen.h> void mkdir_recursive(char *path) { char *subpath, *fullpath; fullpath = strdup(path); subpath = dirname(path); if (strlen(subpath) > 1) mkdir_recursive(subpath); mkdir(fullpath); free(fullpath); } 

или:

 #include <string.h> void mkdir_recursive(char *path) { char *subpath, *fullpath; fullpath = strdup(path); subpath = basename(path); if (strlen(subpath) > 0) mkdir_recursive(subpath); mkdir(fullpath); free(fullpath); } 

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

В случае отсутствия -p списки аргументов обычно анализируются в том порядке, в котором они отображаются в командной строке, таким образом:

 mkdir adam adam/bertil adam/bertil/caesar 

функционально эквивалентно

 mkdir -p adam/bertil/caesar 
  • Linux C / C ++ - любой способ создать «прозрачный» сокет SSL / TLS?
  • Как настроить мое окружение таким образом, чтобы была использована правильная (отличная от системы) версия библиотеки
  • Проблема со словом ntpd
  • / dev / tcp не присутствует в Linux
  • libfaketime и Mac OS, LD_PRELOAD
  • Что делает эта команда Linux?
  • Выполнение процесса несколько раз в одно и то же время
  • Библиотека IOCTL () для Windows
  • программа «убита», как только она запускается
  • Общая библиотека для всех дистрибутивов Linux
  • Как установить clang ++ в качестве компилятора c ++?
  • Linux и Unix - лучшая ОС в мире.