Comprobando si un directorio existe

C++:
Comprobando si un directorio existe

Cómo hacerlo:

En C++ moderno (C++17 y posteriores), puedes usar la biblioteca de sistema de archivos para comprobar si un directorio existe. Ofrece una manera directa y estandarizada de realizar operaciones del sistema de archivos, incluyendo la verificación de la existencia de un directorio.

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    const fs::path dirPath = "/ruta/al/directorio";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "El directorio existe." << std::endl;
    } else {
        std::cout << "El directorio no existe." << std::endl;
    }

    return 0;
}

Salida de muestra si el directorio existe:

El directorio existe.

Salida de muestra si el directorio no existe:

El directorio no existe.

Para proyectos que aún no utilizan C++17 o para características adicionales, la biblioteca Boost Filesystem es una opción de terceros muy popular que ofrece una funcionalidad similar.

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

namespace fs = boost::filesystem;

int main() {
    const fs::path dirPath = "/ruta/al/directorio";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "El directorio existe." << std::endl;
    } else {
        std::cout << "El directorio no existe." << std::endl;
    }

    return 0;
}

Usando Boost Filesystem, la salida sería idéntica al ejemplo del sistema de archivos de C++17, dependiendo de la existencia del directorio en la ruta especificada.