La gestion des fichiers : Bibliothèque  (iostream)
Mécanisme indispensable dans un programme informatique, l'ouverture et la modification de fichiers informatiques.

Initialisation et ouverture
Il faut dans un premier temps déclarer le fichier.


#include <iostream>
int main()
{
     FILE *f;
    f=fopen("d:\\test\\monfichier.txt","rb");
    if (f==nullptr)
    {
        fprint(stderr, "Impossible d'ouvrir le fichier");
    }
    else {
        //traitement
    }
 }


Remarque 1 : La fonction fopen renvoie une valeur nulle si l'opération échoue.
Remarque 2 : les paramètres possibles de fopen sont :

    • rb : ouverture en lecture pour fichier binaire
    • r :  ouverture en lecture
    • w :  ouverture en écriture. Efface le fichier existnt et se place au début.
    • wb :  write binary
    • a : ouverture avec ajout. PLace le curseur à la fin du fichier.


Traitement des données

  • fgetc : récupère le caractère qui se trouve au niveau du curseur dans le fichier. Après lecture, le curseur est déplacé vers la droite.
    int c = fgetc(f); 
  • fputc : place le caractère à la position courant du curseur dans le fichier (en écriture)
    fputc(c,f);
  • fread : lit un ensemble de caractère dans le fichier.
     FILE *fs, *f;
     char e[5]={'A','B','C','D','E'};
     fs=fopen ("U:\\test\\koala.car", "rb");
    fread(e,5,sizeof(char),fs);//lit 5 caractères de fs et les mets dans le tableau e
  • fwrite : écrit un ensemble de caractères
    f=fopen("U:\\test\\copie.txt", "wb");
    fwrite(e , sizeof(char), sizeof(e), f); //place le contenu du tableau e dans f
  • fseek : permet de placer le curseur dans le tableau
    • SEEK_SET : offset à partir du début
    • SEEK_CUR : offset à partir du curseur
    • SEEK_END : offset à partir de la fin
           fseek(fs,0,SEEK_SET); // se met au début du fichier
         fseek(fs,0,SEEK_END); // se met à la fin du fichier


  • ftell : permet de connaitre la position dans le fichier
           fseek(fs,0,SEEK_END);//se place à la fin du fichier
        printf("La taille du fichier est de %d",ftell(fs));affiche la taille du fichier

    Fermeture
    Un fichier ouvert doit être nécessairement fermé pour permettre d'autres ouvertures :
    fclose(f);