C++:
Verificando se um diretório existe
Como fazer:
No C++ moderno (C++17 e além), você pode usar a biblioteca filesystem para verificar se um diretório existe. Ela fornece uma maneira direta e padronizada de realizar operações no sistema de arquivos, incluindo a verificação da existência de um diretório.
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
const fs::path dirPath = "/caminho/para/diretorio";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "O diretório existe." << std::endl;
} else {
std::cout << "O diretório não existe." << std::endl;
}
return 0;
}
Saída de exemplo se o diretório existir:
O diretório existe.
Saída de exemplo se o diretório não existir:
O diretório não existe.
Para projetos que ainda não estão usando C++17 ou para recursos adicionais, a biblioteca Boost Filesystem é uma escolha de terceiros popular que oferece funcionalidade similar.
#include <iostream>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
int main() {
const fs::path dirPath = "/caminho/para/diretorio";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "O diretório existe." << std::endl;
} else {
std::cout << "O diretório não existe." << std::endl;
}
return 0;
}
Usando Boost Filesystem, a saída seria idêntica ao exemplo do filesystem C++17, dependendo da existência do diretório no caminho especificado.