C++:
Sprawdzanie, czy katalog istnieje

Jak to zrobić:

W nowoczesnym C++ (C++17 i nowsze) można użyć biblioteki filesystem do sprawdzenia, czy katalog istnieje. Zapewnia ona prosty i ustandaryzowany sposób na wykonanie operacji na systemie plików, w tym sprawdzenie istnienia katalogu.

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    const fs::path dirPath = "/ścieżka/do/katalogu";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "Katalog istnieje." << std::endl;
    } else {
        std::cout << "Katalog nie istnieje." << std::endl;
    }

    return 0;
}

Przykładowe wyjście, jeśli katalog istnieje:

Katalog istnieje.

Przykładowe wyjście, jeśli katalog nie istnieje:

Katalog nie istnieje.

Dla projektów, które jeszcze nie korzystają z C++17, lub dla dodatkowych funkcji, biblioteka Boost Filesystem jest popularnym wyborem stron trzecich, który oferuje podobną funkcjonalność.

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

namespace fs = boost::filesystem;

int main() {
    const fs::path dirPath = "/ścieżka/do/katalogu";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "Katalog istnieje." << std::endl;
    } else {
        std::cout << "Katalog nie istnieje." << std::endl;
    }

    return 0;
}

Korzystając z Boost Filesystem, wyjście byłoby identyczne jak w przykładzie z filesystem C++17, w zależności od istnienia katalogu pod określoną ścieżką.