Bonjour, je vous explique mon problème.

J'aimerai lire un fichier avec fread (car le fichier pourra être binaire, ou du texte) et stocker ma ligne lu dans un buffer pour pouvoir la traiter
en gros, mon code ce presente comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
int main(){
/* ouverture fichier */
...
 
while( !feof(fichier) ){
    lire_mot(fichier);
}
...
return 1;
}
et ma fonction pour lire:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
void lire_mot(FILE* stream){
/* si on doit lire j'appel fread */
if( fread(&buffer[0], ...) != -1 )
...
 /* et la je recupere un mot dans mon buffer*/
...
}

et en faite mon problème est que, je vais lire correctement mon fichier:
je rappel fread que quand j'ai terminer d'extraire tout les mots
or, qd fread va lire les derniers mots de mon fichier, je vais me trouver à la fin, et donc ma boucle !feof(fichier) me fera arreter, et donc j'aurais pas terminer "d'examiner" mon buffer de lecture.
Comment faire?

Merci d'avance