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.