Namespaces
Variants

remove

From cppreference.net
< c ‎ | io
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 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 auf die 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.

Beispiel

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE* fp = fopen("file1.txt", "w"); // Datei erstellen
    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"); // Fehler: Datei existiert nicht
    if (!fp)
        perror("Opening removed file failed");
    rc = remove("file1.txt"); // Fehler: Datei existiert nicht
    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

Referenzen

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

Siehe auch

benennt eine Datei um
(Funktion)