feof et fichier texte sous unix
Bon voila mon petit probleme.
En ne gardant que l'essentiel, j'ai le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10
| while(!feof(fichier1) && !feof(fichier2))
{
char* temp1=(char*)malloc(MAX_SIZE);
char* temp2=(char*)malloc(MAX_SIZE);
fgets(temp1,MAX_SIZE,fichier1);
fgets(temp2,MAX_SIZE,fichier2);
if(strcmp(temp1,temp2))
printf("%s%s\n",temp1,temp2);
} |
Dans mon fichier1 j'ai par exemple :
Dans mon fichier2 :
Alors ma sortie est :
Code:
1 2 3 4 5 6 7 8 9 10 11
| 1
a
2
b
3
c
d |
Le prog rentre donc 4 fois dans la boucle alors que le fichier1 n'a que 3 lignes (pas de ligne vide derrière). Quelqu'un saurait-il pourquoi ?
Merci
Re: feof et fichier texte sous unix
Citation:
Envoyé par Magicmax
Bon voila mon petit probleme.
Code:
while(!feof(fichier1) && !feof(fichier2))
STOP ! feof() ne fait pas ce que tu crois. Il faut tester la valeur retournée par la fonction de lecture.
http://emmanuel-delahaye.developpez....s.htm#fichiers