Verifica se una directory esiste

C++:
Verifica se una directory esiste

Come fare:

Nel C++ moderno (C++17 e versioni successive), puoi utilizzare la libreria filesystem per verificare se una directory esiste. Fornisce un modo diretto e standardizzato per eseguire operazioni sul filesystem, inclusa la verifica dell’esistenza di una directory.

#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 << "La directory esiste." << std::endl;
    } else {
        std::cout << "La directory non esiste." << std::endl;
    }

    return 0;
}

Output di esempio se la directory esiste:

La directory esiste.

Output di esempio se la directory non esiste:

La directory non esiste.

Per progetti che non stanno ancora utilizzando C++17 o per caratteristiche aggiuntive, la libreria Boost Filesystem è una scelta di terze parti popolare che offre funzionalità simili.

#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 << "La directory esiste." << std::endl;
    } else {
        std::cout << "La directory non esiste." << std::endl;
    }

    return 0;
}

Usando Boost Filesystem, l’output sarebbe identico all’esempio del filesystem C++17, a seconda dell’esistenza della directory nel percorso specificato.