remove
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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) |
|
|
C++ documentation
für
remove
|
|