Académique Documents
Professionnel Documents
Culture Documents
Introduction 1/2
• Un fichier peut être au format texte c’est-à-dire une suite de caractères
(terminées par le caractère spécial EOF (End Of File)) ou peut être un
fichier au format binaire.
• Les fichiers sont accessibles moyennant une mémoire tampon qu’on appelle «
buffer ».
Introduction 2/2
• Pour pouvoir manipuler un fichier, on a besoin de savoir un bon nombre
d’informations :
– L’endroit dans lequel le fichier a été placé en mémoire tampon,
– La position courante dans le fichier,
– Le mode d’ouverture du fichier : Lecture, écriture, ajout en fin de fichier, …
–…
• Ces informations sont rassemblées dans une structure de type : FILE *
définie dans <stdio.h>
Fonctions de traitement des fichiers 1/11
• Avant d’effectuer n’importe quelle opération sur un fichier, il faut l’ouvrir au
préalable.
• La fonction fopen()est chargée de cette mission.
FILE *fopen(char *nom_fichier, char *mode);
En cas de succès, elle renvoie un pointeur sur la structure FILE. Elle renvoie NULL en cas d’échec.
• Après avoir terminé les opérations sur le fichier en question, il faut annuler la
liaison (établie par fopen()) entre le fichier et le flot de données et ce en
appelant la fonction fclose().
int fclose(FILE *fp);
Fonctions de traitement des fichiers 2/11
• Les différents modes d’ouverture sont :
Fonctions de traitement des fichiers 3/11
Les spécifications de format utilisées pour la fonction fprintf() sont les mêmes
que pour printf().
Fonctions de traitement des fichiers 6/11
La fonction de lecture fscanf ()
• La fonction fscanf, analogue à scanf, permet de lire des données d’un fichier.
Sa syntaxe est :
fscanf(flot,"chaînedecontrôle",arg-1,...,arg-n);
où flot est le flot de données retourné par la fonction fopen().
Les spécifications de format sont ici les mêmes que celles de scanf().
Fonctions de traitement des fichiers 7/11
• La fonction ayant le prototype :
char *fgets(char *string, int maxLength, FILE *stream);
permet de lire du fichier pointé par stream, au maximum maxLength caractères
et stocke les caractères lus dans la chaîne string.
• La fonction ayant le prototype :
int fputs(const char *string, FILE *stream)
permet d'écrire la chaîne de caractères string dans le ficher pointé par stream.
Fonctions de traitement des fichiers 8/11
• La fonction ayant le prototype :
int fgetc(FILE *stream);
permet de lire un caractère à partir de la position courante dans le fichier pointé par
stream. Elle renvoie le code (ASCII) du caractère lu ou EOF en cas d’erreur.