Fonction de test de fin de fichier: feof(f)

Prototype:

                   int feof(FILE* f);


rend 1 si la fin de fichier a été atteinte (au dernier fgets) une autre valeur sinon.
#include<stdio.h>
#define TAILLE 200

int main(void)
{FILE* f;
char ligne[TAILLE];  
f = fopen("monfichier", "rt");
if (f = = NULL)
    printf ("Erreur ...");
else
   {
     fgets(ligne, TAILLE, f);    
/* lit la première ligne */
     while (!feof(f))             /* Tant que la fin de fichier n'a pas été atteinte */
           {
            printf("%s", ligne);
 
            fgets(ligne, TAILLE, f);    /* lit la ligne suivante */  
           }
     fclose(f);   
    }
}


Attention: C'est la lecture (fgets) qui positionne la fin de fichier, il est donc nécessaire de respecter cet ordre:
        1) Lecture (fgets)
        2) test de fin de fichier (feof)

==> le do ... while ne convient pas pour la boucle de lecture!!!

suivant
            plan