Fin d un fichier en C

Fermé
muad_tib - 31 janv. 2003 à 22:42
 marvinrouge - 4 févr. 2003 à 16:14
bonjour a tous
j essaye de recuperer les lignes d un ficheir C dans un tableau tampon
voici la fonction que j utilise

while( !feof(f) )
{
j = 0;
//on recupere une ligne entiere dans un tampon
do
{
a = fscanf(f,"%c", &tmp);
ligne[j] = tmp;
j++;
}while(tmp != '\n');
...
}

mais en fait j me rends compte que ca plante quand j recupere la derniere ligne parce ke ma condition d arret n est pas bonne, il s arette pa a la fin du dernier mot mais il continue j usqua ce que mon tableau soit plein et apres il plante... j imagine parce ke y a plus de place dans le tableau

qqun sait il comment est caractérisé la fin d un fichier??

merci
A voir également:

1 réponse

En supposant que ta variable ligne soitt de type char[] ou char*, ajoute la ligne (*) et ça devrait marcher

j = 0;
while( !feof(f) )
{
//on recupere un caractere dans un tampon
fscanf(f,"%c", &tmp);
ligne[j] = tmp;
ligne[j+1] = '\0'; // <==== '\0' indique fin de chaine (*)
j++;
}
printf("on a lu: %s" ligne);
0