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.