Dateien und Ordner rekursiv löschen mit der C++17-filesystem-Bibliothek

This post is also available in: English (Englisch)

Um mit der C++17-filesystem-Bibliothek ein Verzeichnis rekursiv zu löschen (zum Beispiel mein-verzeichnis), benutze remove_all:

remove_all("mein-verzeichnis");

Diese Zeile löscht mein-verzeichnis und alle darin enthaltenen Unterverzeichnisse und Dateien (= rekursiv).

Vollständiges Beispiel:

#include <experimental/filesystem>
using namespace std::experimental::filesystem;

int main() {
    remove_all("mein-verzeichnis");
}

Mit GCC musst du die Datei wie Folgt kompilieren:

g++ -o delete-cpp17 delete-cpp17.cpp -lstdc++fs

Die stdc++fs-Bibliothek muss gelinkt werden, um die Funktionen aus der C++17-Filesystem-Bibliothek einzubinden.

Falls du stattdessen nur ein leeres Verzeichnis oder eine einzelne Datei löschen möchtest (ohne Unterverzeichnisse), benutze remove anstatt remove_all oder lies unseren Post dazu: Dateien löschen mit der C++17-filesystem-Bibliothek