Namensräume
Varianten
Aktionen

std::remove

Von cppreference.com
< cpp‎ | io‎ | c
 
 
 
C-Style I/O
Typen und Objekte
Funktionen
Datei-Zugriff
Direkte Ein-/Ausgabe
Unformatierte Ein-/Ausgabe
Formatierte Eingabe
(C++11)(C++11)(C++11)    
(C++11)(C++11)(C++11)    
Formatierte Ausgabe
Dateipositionierung
Fehlerbehandlung
Operationen auf Dateien
remove
 
Definiert in Header <cstdio>
int remove( const char* pathname );

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

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

Inhalt

[bearbeiten] Parameter

pathname - Zeiger auf eine nullterminierte Zeichenkette, die den Pfad zur zu löschenden Datei enthält

[bearbeiten] Rückgabewert

0 bei Erfolg oder ein von Null verschiedener Wert bei einem Fehler.

[bearbeiten] Hinweise

POSIX spezifiziert viele zusätzliche Details zum Verhalten dieser Funktion.

Die Standardbibliothek definiert auch eine Funktionenschablone std::remove, die ein Iteratorenpaar und einen Wert annimmt; diese Überladung ist einer der Standard-Algorithmen.

[bearbeiten] Beispiel

#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <iostream>
 
int main()
{
    // create a file, check success using operator! of temporary stream object
    if (!std::ofstream("file1.txt").put('a'))
    {
        std::perror("Error creating file1.txt");
        return EXIT_FAILURE;
    }
    std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // print file
 
    std::remove("file1.txt"); // delete file
 
    if (!std::ifstream{"file1.txt"}) // uses operator! of temporary stream object
    {
        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

[bearbeiten] Siehe auch

(C++17)(C++17)
entfernt eine Datei oder ein leeres Verzeichnis
entfernt eine Datei oder ein Verzeichnis und dessen gesamten Inhalt rekursiv
(Funktion) [bearbeiten]
benennt eine Datei um
(function) [bearbeiten]
C-Dokumentation für remove