C++:
Kontrollera om en katalog existerar
Hur:
I modern C++ (C++17 och senare) kan du använda filsystembiblioteket för att kontrollera om en katalog finns. Det erbjuder ett enkelt och standardiserat sätt att utföra filsystemoperationer, inklusive att kontrollera existensen av en katalog.
#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 << "Katalogen finns." << std::endl;
} else {
std::cout << "Katalogen finns inte." << std::endl;
}
return 0;
}
Exempelutskrift om katalogen finns:
Katalogen finns.
Exempelutskrift om katalogen inte finns:
Katalogen finns inte.
För projekt som ännu inte använder C++17 eller för ytterligare funktioner är Boost Filesystem-biblioteket ett populärt tredjepartsval som erbjuder liknande funktionalitet.
#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 << "Katalogen finns." << std::endl;
} else {
std::cout << "Katalogen finns inte." << std::endl;
}
return 0;
}
Med Boost Filesystem skulle utskriften vara identisk med exemplet för C++17 filsystem, beroende på om katalogen finns på den specificerade sökvägen.