fclose
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<stdio.h>
|
||
|
int
fclose
(
FILE
*
stream
)
;
|
||
Ferme le flux de fichier donné. Toutes les données tamponnées non écrites sont vidées vers le système d'exploitation. Toutes les données tamponnées non lues sont ignorées.
Que l'opération réussisse ou non, le flux n'est plus associé à un fichier, et le tampon alloué par setbuf ou setvbuf , s'il existe, est également dissocié et désalloué si l'allocation automatique a été utilisée.
Le comportement est indéfini si la valeur du pointeur
stream
est utilisée après que
fclose
a retourné.
Table des matières |
Paramètres
| stream | - | le flux de fichier à fermer |
Valeur de retour
0 en cas de succès, EOF sinon
Exemple
#include <stdio.h> #include <stdlib.h> int main(void) { const char* fname = "/tmp/unique_name.txt"; // or tmpnam(NULL); int is_ok = EXIT_FAILURE; FILE* fp = fopen(fname, "w+"); if (!fp) { perror("File opening failed"); return is_ok; } fputs("Hello, world!\n", fp); rewind(fp); int c; // note: int, not char, required to handle EOF while ((c = fgetc(fp)) != EOF) // standard C I/O file reading loop putchar(c); if (ferror(fp)) puts("I/O error when reading"); else if (feof(fp)) { puts("End of file is reached successfully"); is_ok = EXIT_SUCCESS; } fclose(fp); remove(fname); return is_ok; }
Sortie possible :
Hello, world! End of file is reached successfully
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.21.5.1 La fonction fclose (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.21.5.1 La fonction fclose (p: TBD)
- Norme C11 (ISO/IEC 9899:2011):
-
- 7.21.5.1 La fonction fclose (p: 304)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.19.5.1 La fonction fclose (p: 270)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 4.9.5.1 La fonction fclose
Voir aussi
|
(C11)
|
ouvre un fichier
(fonction) |
|
(C11)
|
ouvre un flux existant avec un nom différent
(fonction) |
|
Documentation C++
pour
fclose
|
|