Namespaces
Variants

std:: remove

From cppreference.net
< cpp ‎ | io ‎ | c
Definiert in Header <cstdio>
int remove ( const char * pathname ) ;

Löscht die Datei, die durch die Zeichenkette identifiziert wird, auf die pathname zeigt.

Wenn die Datei derzeit von einem Prozess geöffnet ist, ist das Verhalten dieser Funktion implementierungsdefiniert. POSIX-Systeme entfernen den Dateinamen (Verzeichniseintrag), aber der vom Dateisystem belegte Speicherplatz wird nicht freigegeben, solange die Datei in einem Prozess geöffnet ist und solange andere Hardlinks zur Datei existieren. Windows erlaubt in solchen Fällen das Löschen der Datei nicht.

Inhaltsverzeichnis

Parameter

pathname - Zeiger auf einen nullterminierten String, der den Pfad zur zu löschenden Datei enthält

Rückgabewert

0 bei Erfolg oder einen Wert ungleich Null bei Fehler.

Hinweise

POSIX legt viele zusätzliche Details für das Verhalten dieser Funktion fest.

Die Standardbibliothek definiert auch eine Funktionsvorlage std::remove die ein Iteratorpaar und einen Wert entgegennimmt. Diese Überladung ist einer der Standard- Algorithmen .

Beispiel

#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    // Datei erstellen, Erfolg mit Operator! des temporären Stream-Objekts prüfen
    if (!std::ofstream("file1.txt").put('a'))
    {
        std::perror("Error creating file1.txt");
        return EXIT_FAILURE;
    }
    std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // Datei ausgeben
    std::remove("file1.txt"); // Datei löschen
    if (!std::ifstream{"file1.txt"}) // verwendet Operator! des temporären Stream-Objekts
    {
        std::perror("Error opening deleted file");
        return EXIT_FAILURE;
    }
    return EXIT_SUCCESS;
}

Mögliche Ausgabe:

a
Error opening deleted file: No such file or directory

Siehe auch

(C++17) (C++17)
entfernt eine Datei oder ein leeres Verzeichnis
entfernt eine Datei oder ein Verzeichnis und alle seine Inhalte rekursiv
(Funktion)
benennt eine Datei um
(Funktion)
C-Dokumentation für remove