Langage C (2)
Attention : Cette page n'est pas une initiation au C. Son objectif est uniquement de présenter quelques notions de bases du langage C pour pouvoir utiliser le mode 13h.

Les pointeurs de fichier

Les pointeurs de fichier sont indispensable lorsque l'on manipule des fichiers. Un pointeur est une variable particulière car elle ne stockent pas de une valeur mais l'adresse mémoire d'une autre variable.

Pour les fichiers on utilise des pointeurs de type 'FILE'.

Exemple : FILE * fp (ne pas oublier le *).

Ouvrir et fermer un fichier

On utilise la fonction 'fopen' pour ouvrir un fichier et la fonction 'fclose' pour le fermer.

fp = fopen( "nom_du_fichier" , "mode" ) ;
fclose( fp ) ;


modes (les plus fréquents) Significations
r Lecture seulement.
w Ecriture seulement.
a Ecriture à la fin du fichier (en ajout).
rw Lecture et écriture

Lire dans un fichier

Pour la lecture on peut utiliser les fonctions 'fgetc' (pour un seul caractère) ou 'fgets' (pour une chaîne de caractères).

car = fgetc ( fp ) ;
fgets( chaine , fp , nombre_de_caractère_à_lire ) ;


Ecrire dans un fichier

Pour l'écriture on peut utiliser les fonctions 'fputc' (pour un octet) ou 'fputs' (pour une chaîne de caractères).

fputc ( car , fp ) ;
fputs( chaine , fp ) ;


Se déplacer dans un fichier

La fonction 'fseek' permet de naviguer dans un fichier, on peut ainsi placer le pointeur où l'on veut à l'intérieur du fichier selon ses besoins

fseek( fp , nombre_d'octet_du_déplacement_par rapport_à_la_position , position ) ;

position Signification
0 Début du fichier
1 Position courante
2 Fin du fichier

Un petit exemple

Voici un programme qui demande le chemin d'un fichier et qui affiche son contenu a l'écran.

#include<stdio.h>

main()
{
  char fichier[128] ;
  char car ;
  FILE *fp ;
  printf( "\nEntrez le fichier avec son chemin : " ) ;
  scanf( "%s" , fichier ) ;
  // Ouverture en mode lecture seulement
  fp = fopen( fichier , "r" ) ;
  // On continue la lecture (octet par octet avec 'fgetc') jusqu'à la fin du fichier (End Of File)
  while ( ( car = fgetc( fp ) ) != EOF )
  {
    printf( "%c" , car ) ;
  }
  fclose( fp ) ;
}


Voila pour les fichiers, maintenant vous devez pouvoir commencer à faire 2 3 choses intéressantes.


Tutoriaux - Langage C (2) - Photographies, projects informatiques et tutoriaux de programmation.
Chandelier Japonais - Annonce immobilière maison - Sellette occasion - Logiciel de rendez-vous - Velo route occasion - Chat sans inscription - Masque - Pic petrolier