std:: remove
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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
|
|