РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
497 of 815 menu

Функция create_directories

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

Синтаксис

bool create_directories(const std::filesystem::path& p); bool create_directories(const std::filesystem::path& p, std::error_code& ec);

Пример

Давайте создадим директорию /tmp/abcde, включая все родительские директории:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "/tmp/abcde/12345"; bool res = fs::create_directories(p); cout << res << endl; return 0; }

Результат выполнения кода:

1

Пример

Давайте попробуем создать директорию, которая уже существует, и проверим результат:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "/tmp/abcde/12345"; bool res = fs::create_directories(p); cout << res << endl; return 0; }

Результат выполнения кода:

0

Пример

Давайте создадим директорию с обработкой возможной ошибки через объект error_code:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "/tmp/abcde/12345"; error_code ec; bool res = fs::create_directories(p, ec); if (ec) { cout << "Error: " << ec.message() << endl; } else { cout << "Created: " << res << endl; } return 0; }

Результат выполнения кода:

"Created: 0"

Смотрите также

  • функция create_directory,
    которая создает одну директорию
  • функция is_directory,
    которая проверяет, является ли путь директорией
  • функция remove,
    которая удаляет файл или пустую директорию
  • функция remove_all,
    которая рекурсивно удаляет директорию и ее содержимое
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить