C++:
Sjekker om en mappe eksisterer
Hvordan:
I moderne C++ (C++17 og videre) kan du bruke filsystembiblioteket til å sjekke om en mappe eksisterer. Det gir en enkel og standardisert måte å utføre filsystemoperasjoner på, inkludert å sjekke for eksistensen av en mappe.
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
const fs::path dirPath = "/sti/til/mappe";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "Mappen eksisterer." << std::endl;
} else {
std::cout << "Mappen eksisterer ikke." << std::endl;
}
return 0;
}
Eksempel på utskrift hvis mappen eksisterer:
Mappen eksisterer.
Eksempel på utskrift hvis mappen ikke eksisterer:
Mappen eksisterer ikke.
For prosjekter som ennå ikke bruker C++17 eller for ekstra funksjonalitet, er Boost Filesystem-biblioteket et populært tredjepartsvalg som tilbyr lignende funksjonalitet.
#include <iostream>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
int main() {
const fs::path dirPath = "/sti/til/mappe";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "Mappen eksisterer." << std::endl;
} else {
std::cout << "Mappen eksisterer ikke." << std::endl;
}
return 0;
}
Ved å bruke Boost Filesystem vil utskriften være identisk med eksempelet fra C++17 filsystemet, avhengig av eksistensen av mappen på den angitte stien.