Section courante

A propos

Section administrative du site

FREOPEN

Libère et ouvre
Langage C stdio.h

Syntaxe

FILE *freopen(const char *nomfichier,const char *mode,FILE *ptrfichier);

Paramètres

Nom Description
nomfichier Ce paramètre permet d'indiquer le nom du fichier
mode Ce paramètre permet d'indiquer le mode d'ouverture combiné du fichier
Valeur Description
a Cette valeur indique une création en ajoutant à la fin du fichier
b Cette valeur indique une ouverture en mode binaire
a+ Cette valeur indique une création en ajoutant à la fin du fichier existant
r Cette valeur indique un mode d'accès en lecture
r+ Cette valeur indique un mode d'accès en lecture d'un fichier existant
t Cette valeur indique une ouverture en mode texte
w Cette valeur indique un mode d'accès en écriture
w+ Cette valeur indique un mode d'accès en écriture et écrase le fichier existant
ptrfichier Ce paramètre permet d'indiquer l'identificateur de fichier

Description

Cette fonction ferme le fichier et réouvre un fichier en lui affectant un pointeur.

Algorithme

MODULE FREOPEN(filename, mode, stream)
   SI stream est NULL ALORS
      RETOURNE Erreur "Le flux spécifié est invalide"
   FIN SI

   * Fermer le flux actuel stream (si déjà ouvert)
   Appeler fclose(stream) pour fermer proprement le flux existant

   Essayer d'ouvrir le fichier filename avec le mode spécifié :
      Ouvrir le fichier filename en utilisant le mode donné (par exemple "r", "w", "a",...)
      SI l'ouverture échoue ALORS
         * Erreur, impossible d'ouvrir le fichier
         RETOURNE NULL
      FIN SI

   SI l'ouverture réussit ALORS
      Associer le fichier ouvert à stream
      RETOURNE le flux stream (maintenant associé au fichier)
   FIN SI

Remarques

Exemple

Voici un exemple montrant une utilisation plus classique de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     FILE * Handle = fopen("monfichier.txt", "w+");
  7.     if(Handle != NULL) {
  8.         fprintf(Handle,"Gladir.com");
  9.         printf("Le fichier a été écrit avec succès\n");
  10.         FILE * Handle2 = freopen("monfichier.txt", "w+", Handle);
  11.         if(Handle != NULL) {
  12.             fprintf(Handle2,"Gladir.ca");
  13.             printf("Le fichier a été réouvert avec succès\n");
  14.             /* Traitement ... */
  15.             fclose(Handle);
  16.         }
  17.     }
  18.     return 0;
  19. }

on obtiendra le résultat suivant dans le fichier «monfichier.txt» :

Gladir.ca

Voir également

Langage de programmation - C - Référence de procédures et fonctions - fclose
Langage de programmation - C - Référence de procédures et fonctions - fopen
Langage de programmation - C++ - Référence de procédures et fonctions - freopen

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 731.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 112.

Dernière mise à jour : Mardi, le 28 juillet 2015