Vous êtes sur la page 1sur 3

Chapitre 10: LES FICHIERS

10.1. Définitions et propriétés


Un fichier (angl.: file) est un ensemble structuré de données stocké en général sur un
support externe (disquette, disque dur, ...). Un fichier structuré contient une suite
d'enregistrements homogènes.
déclaration d’un fichier:

FILE * <pointeurFichier>;

10.2.Ouverture et fermeture d'un fichier


10.2.1.La fonction fopen
Cette fonction est de type FILE* et ouvre un fichier. Sa syntaxe est :

fopen("nom-de-fichier","mode") ;

On distingue deux types de fichier:

* les fichiers textes, pour lesquels les caractères de contrôle (retour à la ligne
...) seront interprétés en tant que tels lors de la lecture et de l'écriture ;

*les fichiers binaires

Les différents modes d'accès sont les suivants :

• "r" :ouverture d'un fichier texte en lecture

• "w " :ouverture d'un fichier texte en écriture

• "a " :ouverture d'un fichier texte en écriture à la fin

• "rb " :ouverture d'un fichier binaire en lecture

• "wb " :ouverture d'un fichier binaire en écriture

• "ab":ouverture d'un fichier binaire en écriture à la fin

10.2.2.La fonction fclose


ferme le flot qui a été associé à un fichier par la fonction fopen.

Sa syntaxe est :

• fclose(flot)

10.3. Les entrées-sorties formatées


10.3.1.La fonction d'écriture fprintf
permet d'écrire des données dans un fichier.

Sa syntaxe est

• fprintf(flot,"chaîne de contrôle",expression-1, ..., expression-n)

Les spécifications de format utilisées par fprintf sont les mêmes que pour printf.

10.3.2.La fonction de saisie fscanf


permet de lire des données dans un fichier.

Sa syntaxe est :

• fscanf(flot,"chaîne de contrôle",argument-1,...,argument-n)

Les spécifications de format sont ici les mêmes que celles de la fonction scanf.

10.4.Impression et lecture de caractères


les fonctions fgetc et fputc permettent respectivement de lire et d'écrire un caractère
dans un fichier. La fonction fgetc, de type int, retourne le caractère lu dans le fichier.
Elle retourne la constante EOF lorsqu'elle détecte la fin du fichier. Son prototype est:

• int fgetc(FILE* flot);

La fonction fputc écrit caractere dans un fichier:

• int fputc(int caractere, FILE *flot)

Fonction fin de fichier

• feof(<FP>)

Soit le programme suivant :

• printf("calcul à effectuer (par ex 15*3) ");

• scanf("%f%c%f",&val1,&op,&val2);

• switch (op)

• {

• case '*':res=val1*val2;break;

• case '+':res=val1+val2;

• case '-':res=val1-val2;break;
• }

• printf("%f%c%f=%f\n",val1,op,val2,res);

Que donne l’exécution de ces instructions dans les cas suivants :

• 10 + 30 20 * 3 50 – 40

Exercice 6
Soient a, b, c et d des entiers.

• if(a>b) printf(“condition 1\n”);

• else if (b<c) printf(“condition 2\n”);

• else if (c<d) pintf(“condition 3\n”);

• else printf(“cas 4\n”);

• printf(“cas 5\n”);

Expliquer l’exécution de l’instruction if dans les cas suivants :

• a=12 b=9 c=11 d=3

• a=12 b=13 c=15 d=1

• a=12 b=13 c=15 d=21

Vous aimerez peut-être aussi