Lire un fichier

Problème

Vous désirez lire un fichier.

Solution

Pour lire un fichier, commencez par l’ouvrir en lecture. S’il s’agit d’un fichier binaire, ou d’un fichier texte que vous voulez lire comme un fichier binaire, lisez-le enregistrement par enregistrement. S’il s’agit d’un fichier texte, lisez-le ligne par ligne. Il est possible aussi d’utiliser g_file_get_contents() de la bibliothèque glib.

Discussion

L’ouverture d’un fichier se fait avec fopen(). Pour lire le fichier, nous disposons de trois fonctions principales que vous choisissez selon vos besoins. Pour les fichiers texte, fgets() permet de lire une ligne. Pour les fichiers texte formaté, fscanf() attend un certain format fourni en argument et remplit les variables dont les pointeurs sont spécifiés en argument. Pour les fichiers binaires, nous disposons de la fonction fread() qui lit par enregistrements, leur nombre et taille étant donnés en argument. Voici un exemple de lecture d’un fichier texte, ligne par ligne :


FILE *fd; 
char line[BUFSIZ]; 
if (NULL == (fd = fopen (fichier, "r"))) 
  { 
    fprintf (stderr, "Impossible d'ouvrir le fichier\n"); 
    exit (EXIT_FAILURE); 
  } 
while (fgets (line, BUFSIZ, fd)) 
  { 
    printf ("%s", line); 
  } 
if (!feof(fd)) 
  { 
    fprintf (stderr, "Problème de lecture\n"); 
    exit (EXIT_FAILURE); 
  } 
fclose (fd); 
printf...
Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Introduction
Suivant
Écrire dans un fichier