J'ai un probleme avec la boucle qui se trouve en dessous ( do ... while(!feof(fichier)) ).
quand on arrive a la fin du fichier il fait une erreur. il n'arrive a lire la fin du fichier. Quand je rentre dans le if(), il n'y a pas de pb, ca marche bien grace au break; qui evite d'aller jusqu'a la fin du fichier.
si quelqu'un sait pourquoi j'ai une erreur, ca serait cool qu'il m'explique.
merci kobee12.
voici la boucle :
fichier = fopen("essai.txt", "r");
rewind(fichier); //reposition au debut du fichier
/* recuperation des donnees pour une date donnee*/
do
{
fgets(buf,200,fichier); //lecture d'une ligne du fichier
//decoupage de la ligne recuperee
sscanf(buf,"%d %d %[^\n]%s",&n_jour,&n_mois,msg);
if((n_jour==num_jour) && (n_mois==mois))
{
/*decoupage des enregistrements*/
i=0;
Info[i]=strtok(msg,"Ï");
for(i=1;i<12;i++)
{
Info[i]=strtok(NULL,"Ï");
}
break; // on sort de la boucle
}
}while(!feof(fichier)); //tant qu'on n'est pas a la fin du fichier
fclose(fichier);
/* fin recuperation des donnees*/