CHAPITRE 6�� LANGAGE DE � PROGRAMMATION: C
F. Karami
���� II- Les Fichiers
*
Programmer en langage C
2
Fichiers
1) Introduction, définition et propriétés, mémoire tampon
2) Types de Fichiers
3) Déclaration d’un fichier, ouverture et fermeture de fichiers
4) La fonction d’écriture dans un fichier
5) La fonction de saisie dans un fichier
6) Lecture et écriture par caractère
7) Positionnement dans un fichier
*
Programmer en langage C
3
1) Introduction, définition et propriétés, mémoire tampon
*
Programmer en langage C
4
Fichiers
Définition et propriétés
*
Programmer en langage C
5
Fichiers
Mémoire tampon
*
Programmer en langage C
6
Fichiers
2) Types de Fichiers
*
Programmer en langage C
7
Fichiers
3)Déclaration d’un fichier, ouverture et fermeture de fichiers
FILE *<pointeurfichier>;
*
Programmer en langage C
8
Fichiers
Ouverture de fichiers
fopen("nom-de-fichier","mode");
*
Programmer en langage C
9
Fichiers
Ouverture de fichiers
*
Programmer en langage C
10
Fichiers
Ouverture de fichiers
*
Programmer en langage C
11
Fichiers
Ouverture de fichiers
#include <stdio.h>
FILE *fp;
…..
if ((fp = fopen("donnees.txt","r")) == NULL)
{
fprintf(stderr,"Impossible d’ouvrir le fichier données en
lecture\n");
exit(1);
}
*
Programmer en langage C
12
Fichiers
Fermeture de fichiers : la fonction fclose
FILE *fp;
fp = fopen("donnees.txt","r")
fclose(fp);
*
Programmer en langage C
13
Fichiers
4)La fonction d’écriture en fichier: fprintf
*
Programmer en langage C
14
Fichiers
5) La fonction de saisie en fichier : fscanf
*
Programmer en langage C
15
Fichiers
Programme: Exemple
#include<stdio.h>
main(){
FILE *pf;
int i=100;
char c=‘c’;
float t=1.234;
pf=fopen(’’essai.txt’’, ’’w+’’); /*ouverture et mise à jour*/
fprintf(pf,’’%d %c %f ’’,i,c,t);
fscanf(pf,’’%d %c %f’’,&i,&c,&t);
fprintf(pf,’’%d %c %f,i,c,t);
fclose(pf);
}
*
Programmer en langage C
16
Fichiers
6)Lecture et écriture par caractère : fgetc et fputc
*
Programmer en langage C
17
Fichiers
Exemple
#define ENTREE "entree.txt"
#define SORTIE "sortie.txt »
main() {
FILE *f_in, *f_out;
int c;
// Ouverture du fichier ENTREE en lecture
if ((f_in = fopen(ENTREE,"r")) == NULL)
fprintf(stderr, "\nErreur: Impossible de lire %s\n",ENTREE);
// Ouverture du fichier SORTIE en ecriture
if ((f_out = fopen(SORTIE,"w")) == NULL)
fprintf(stderr, "\nErreur: Impossible d’ecrire dans %s\n",SORTIE);
// Recopie du contenu de ENTREE dans SORTIE
while ((c = fgetc(f_in)) != EOF)
fputc(c, f_out);
// Fermeture des flots de donnees
fclose(f_in); fclose(f_out);
}
*
Programmer en langage C
18
Fichiers
Positionnement dans un fichier : fseek, rewind et ftell
*
Programmer en langage C
19
Fichiers
Positionnement dans un fichier : fseek, rewind et ftell
*
Programmer en langage C
20
Fichiers
Positionnement dans un fichier : fseek, rewind et ftell
*
Programmer en langage C
21
Fichiers