7.3.2 Comment faire ?

Pour lire un fichier, il faut déjà l'ouvrir, pour cela nous avons la fonction fopen dont voici le prototype :

1
FILE *fopen(const char *path, const char *mode);
  • path est le nom du fichier à ouvrir (/nom/du/fichier/à ouvrir)
  • mode est le mode de lecture (lecture "r" read, écriture "w" write, écrire à la fin "a" append, lecture et écriture "r+", écriture et lecture "w+", lecture et ajout à la fin du fichier "a+")
  • FILE* est un pointeur vers le fichier ouvert, ou NULL si la fonction n'a pas pu ouvrir le fichier.

Avec cette fonction nous obtenons un pointeur vers un fichier ouvert comme il faut (en tout cas si la fonction a réussie). Voir la documentation de cette fonction ici.

Ensuite il faut la fonction qui renvoie une ligne du fichier à lire :

1
char * fgets ( char * str, int num, FILE * stream );
  • str est la chaîne qui va recevoir la ligne du fichier, elle doit être allouée
  • num est la longueur de la chaîne str (enfin le nombre de caractères que l'on peut mettre dedans)
  • stream est le fichier que l'on a ouvert avec fopen
  • Le caractère retourné n'est pas NULL si la fonction à réussie

Voir la documentation de cette fonction ici.

Pour arrêter la lecture à la fin du fichier nous disposons de la fonction :

1
int feof ( FILE * stream );

Cette fonction veut dire : File End Of File, donc la fin du fichier.

  • stream est le fichier lu
  • cette fonction retourne un nombre différent de 0 si on n'est pas à la fin du fichier

Voir la documentation de cette fonction ici.