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. 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

  • stream: ce paramètre permet d'indiquer le flux de caractères à fermer. N'oubliez pas que la valeur de ce paramètre à été initialement capturée lors de l'invocation de la fonction fopen.

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