Sjekker om en mappe eksisterer

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.