std:: fclose
| 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 im Header
<cstdio>
|
||
|
int
fclose
(
std::
FILE
*
stream
)
;
|
||
Schließt den angegebenen Dateistream und schreibt alle ungeschriebenen Daten aus stream 's Puffer auf das zugehörige Ausgabegerät. Alle ungelesenen gepufferten Daten werden verworfen.
Unabhängig davon, ob der Vorgang erfolgreich ist oder nicht, ist der Stream nicht mehr mit einer Datei assoziiert, und der durch std::setbuf oder std::setvbuf allokierte Puffer, falls vorhanden, wird ebenfalls dissoziiert und deallokiert, falls automatische Allokierung verwendet wurde.
|
Wenn Daten auf ein Ausgabegerät geschrieben werden, stellt die Rückkehr von
|
(since C++26) |
Das Verhalten ist undefiniert, wenn der Wert des Zeigers
stream
nach dem Rückkehr von
std::fclose
verwendet wird.
Inhaltsverzeichnis |
Parameter
| stream | - | der zu schließende Dateistrom |
Rückgabewert
0 bei Erfolg, EOF andernfalls.
Beispiel
#include <cstdio> #include <cstdlib> int main() { int is_ok = EXIT_FAILURE; FILE* fp = std::fopen("/tmp/test.txt", "w+"); if (!fp) { std::perror("File opening failed"); return is_ok; } int c; // Note: int, not char, required to handle EOF while ((c = std::fgetc(fp)) != EOF) // Standard C I/O file reading loop std::putchar(c); if (std::ferror(fp)) std::puts("I/O error when reading"); else if (std::feof(fp)) { std::puts("End of file reached successfully"); is_ok = EXIT_SUCCESS; } std::fclose(fp); return is_ok; }
Ausgabe:
End of file reached successfully
Siehe auch
|
öffnet eine Datei
(Funktion) |
|
|
öffnet einen bestehenden Stream mit einem anderen Namen
(Funktion) |
|
|
leert den Put-Bereich-Puffer und schließt die zugehörige Datei
(öffentliche Elementfunktion von
std::basic_filebuf<CharT,Traits>
)
|
|
|
C-Dokumentation
für
fclose
|
|