Namespaces
Variants

std::experimental::filesystem:: remove, std::experimental::filesystem:: remove_all

From cppreference.net
Definiert im Header <experimental/filesystem>
bool remove ( const path & p ) ;
bool remove ( const path & p, error_code & ec ) ;
(1) (filesystem TS)
std:: uintmax_t remove_all ( const path & p ) ;
std:: uintmax_t remove_all ( const path & p, error_code & ec ) ;
(2) (filesystem TS)
1) Die Datei oder das leere Verzeichnis, das durch den Pfad p identifiziert wird, wird gelöscht, wie durch die POSIX-Funktion remove . Symbolischen Links wird nicht gefolgt (der symbolische Link wird entfernt, nicht sein Ziel).
2) Löscht den Inhalt von p (falls es ein Verzeichnis ist) und den Inhalt aller seiner Unterverzeichnisse rekursiv, dann löscht p selbst, als ob durch wiederholte Anwendung der POSIX-Funktion remove . Symbolischen Links wird nicht gefolgt (der symbolische Link wird entfernt, nicht sein Ziel).

Inhaltsverzeichnis

Parameter

p - zu löschender Pfad
ec - Out-Parameter für Fehlerberichterstattung in der nicht-werfenden Überladung

Rückgabewert

1) true wenn die Datei gelöscht wurde, false wenn sie nicht existierte. Die Überladung, die ein error_code & Argument akzeptiert, gibt bei Fehlern false zurück.
2) Gibt die Anzahl der Dateien und Verzeichnisse zurück, die gelöscht wurden (was null sein kann, falls p ursprünglich nicht existierte). Die Überladung, die ein error_code & Argument akzeptiert, gibt bei einem Fehler static_cast < std:: uintmax_t > ( - 1 ) zurück.

Ausnahmen

The overload that does not take an error_code & parameter throws filesystem_error on underlying OS API errors, constructed with p as the first argument and the OS error code as the error code argument. std:: bad_alloc may be thrown if memory allocation fails. The overload taking an error_code & parameter sets it to the OS API error code if an OS API call fails, and executes ec. clear ( ) if no errors occur. This overload has
noexcept Spezifikation:
noexcept

Hinweise

Auf POSIX-Systemen ruft diese Funktion typischerweise unlink und rmdir nach Bedarf auf, unter Windows RemoveDirectoryW und DeleteFileW .

Beispiel

#include <cstdint>
#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    fs::path dir = fs::temp_directory_path();
    fs::create_directories(dir / "abcdef/example");
    std::uintmax_t n = fs::remove_all(dir / "abcdef");
    std::cout << "Deleted " << n << " files or directories\n";
}

Mögliche Ausgabe:

Deleted 2 files or directories

Siehe auch

löscht eine Datei
(Funktion)