Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonction fclose

Entête à inclure

#include <stdio.h>  // <cstdio> en C++

Fonction fclose

int fclose( FILE * stream );

Cette fonction permet de fermer un flux préalablement ouvert avec la fonction fopen ou la fonction freopen. Lors de la fermeture d'un flux, le buffer en mémoire associé est automatiquement synchronisé (fflush), si le flux est ouvert en écriture, et est libéré (il n'est donc pas de votre responsabilité de libérer ce buffer).

Paramètre

Valeur de retour

Si la fermeture est correctement réalisée, la valeur 0 vous sera retourner. Par contre, si une erreur survient durant la fermeture de votre fichier, la valeur EOF vous sera alors retournée. Consultez alors la variable errno pour obtenir plus d'informations sur la cause de l'erreur.

Codes erreurs pouvant être retournés

EBADF : le descripteur de flux (FILE *) passé en paramètre est invalide.

...

Exemple de code

#include <stdio.h>
#include <stdlib.h>

int main() {

    int returnCode;
    FILE *file = fopen("destination.txt","w");
    
    if ( file == NULL ) {
        fprintf( stderr, "Erreur durant l'ouverture du fichier" );
        exit( -1 );
    }
        
    fprintf( file, "Mon texte" );
        
    returnCode = fclose(file);
    if ( returnCode == EOF ) {
        fprintf( stderr, "Erreur durant la fermeture du fichier" );
        exit( -1 );
    }
    
    return 0;
}

Sujets connexes

fclose
fflush