Namensräume
Varianten
Aktionen

remove

Von cppreference.com
< c‎ | io
 
 
Datei-Ein-/Ausgabe
Typen und Objekte
        
Funktionen
Datei-Zugriff
(C95)
Unformatierte Ein-/Ausgabe
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

Formatierte Eingabe
Direkte Ein-/Ausgabe
Formatierte Ausgabe
Dateipositionierung
Fehlerbehandlung
Operationen auf Dateien
remove
 
Definiert in Header <stdio.h>
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 implementierungsabhängig. POSIX-Systeme entlinken den Dateinamen (Directory-Eintrag), aber der vom Dateisystem belegte Speicherplatz für die Datei wird nicht freigegeben, solange sie in einem Prozess geöffnet ist und solange andere Hardlinks auf die 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.

[bearbeiten] Beispiel

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    FILE* fp = fopen("file1.txt", "w"); // create file
    if (!fp)
    {
        perror("file1.txt");
        return EXIT_FAILURE;
    }
    puts("Created file1.txt");
    fclose(fp);
 
    int rc = remove("file1.txt");
    if (rc)
    {
        perror("remove");
        return EXIT_FAILURE;
    }
    puts("Removed file1.txt");
 
    fp = fopen("file1.txt", "r"); // Failure: file does not exist
    if (!fp)
        perror("Opening removed file failed");
 
    rc = remove("file1.txt"); // Failure: file does not exist
    if (rc)
        perror("Double-remove failed");
 
    return EXIT_SUCCESS;
}

Mögliche Ausgabe

Created file1.txt
Removed file1.txt
Opening removed file failed: No such file or directory
Double-remove failed: No such file or directory

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.21.4.1 Die Funktion remove (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.21.4.1 Die Funktion remove (p: TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.21.4.1 Die Funktion remove (p: 302)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.19.4.1 Die Funktion remove (p: 268)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.9.4.1 Die Funktion remove

[bearbeiten] Siehe auch

benennt eine Datei um
(Funktion) [bearbeiten]
C++ Dokumentation für remove