Перевірка наявності директорії

C++:
Перевірка наявності директорії

Як це зробити:

У сучасному C++ (C++17 і новіші версії), можна використовувати бібліотеку filesystem для перевірки наявності директорії. Вона забезпечує простий і стандартизований спосіб виконання операцій із файловою системою, включаючи перевірку наявності директорії.

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    const fs::path dirPath = "/path/to/directory";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "Директорія існує." << std::endl;
    } else {
        std::cout << "Директорія не існує." << std::endl;
    }

    return 0;
}

Приклад виводу, якщо директорія існує:

Директорія існує.

Приклад виводу, якщо директорія не існує:

Директорія не існує.

Для проектів, які ще не використовують C++17, або для додаткових можливостей, бібліотека Boost Filesystem є популярним вибором сторонніх розробників, яка пропонує схожу функціональність.

#include <iostream>
#include <boost/filesystem.hpp>

namespace fs = boost::filesystem;

int main() {
    const fs::path dirPath = "/path/to/directory";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "Директорія існує." << std::endl;
    } else {
        std::cout << "Директорія не існує." << std::endl;
    }

    return 0;
}

Використовуючи Boost Filesystem, вивід буде ідентичний прикладу з файловою системою C++17, залежно від наявності директорії за вказаним шляхом.