[C] - Probleme de fgets dans boucle !
Résolu
Estydral
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j -
lami20j -
Bonjour,
Je rencontre un petit problème dans le cadre de l'utilisation de la fonction fgets() aprés une boucle while:
Lors du premier passage dans la boucle, tout fonctionne a merveille, mais lorsque je repasse une seconde fois dans cette boucle while, le fgets est toujours en position finale et ne s'effectue plus.
Partie de code:
while (cpt_verbose <= 5)
{
while (fgets(ligne, LONG, entree) != NULL)
{
//traitement
}
}
Ce que je recherche simplement, c'est une méthode pour "réinitialiser" le fgets() et ainsi continuer d'effectuer mes traitements.
Merci!
Estydral
Je rencontre un petit problème dans le cadre de l'utilisation de la fonction fgets() aprés une boucle while:
Lors du premier passage dans la boucle, tout fonctionne a merveille, mais lorsque je repasse une seconde fois dans cette boucle while, le fgets est toujours en position finale et ne s'effectue plus.
Partie de code:
while (cpt_verbose <= 5)
{
while (fgets(ligne, LONG, entree) != NULL)
{
//traitement
}
}
Ce que je recherche simplement, c'est une méthode pour "réinitialiser" le fgets() et ainsi continuer d'effectuer mes traitements.
Merci!
Estydral
A voir également:
- Fgets matlab
- Gnu octave matlab - Télécharger - Édition & Programmation
- Fonction matlab - Forum Matlab
- Programmer avec MATLAB ✓ - Forum Matlab
- Intervalle sur matlab ✓ - Forum Matlab
- Termes de Matlab ✓ - Forum Matlab
3 réponses
Salut,
regarde ce lien:http://www.cplusplus.com/reference/cstdio/rewind/
peut-etre cette fonction pourra t'aider!!
@+
regarde ce lien:http://www.cplusplus.com/reference/cstdio/rewind/
peut-etre cette fonction pourra t'aider!!
@+
Salut,
Un exemple
Un exemple
lami20j@debian-acer:~/c$ cat fic.txt ligne1 ligne2 ligne3 lami20j@debian-acer:~/c$ cat lire.c #include<stdio.h> #include<stdlib.h> int main() { FILE* fic; int i=0; char s[20]; if(NULL==(fic=fopen("fic.txt","r"))) return EXIT_FAILURE; while(i<3){ while(fgets(s,19,fic)!=NULL) printf("%s",s); printf("************ fin passage %d **************\n",i); i+=1; rewind(fic); } return EXIT_SUCCESS; } lami20j@debian-acer:~/c$ gcc -Wall lire.c lami20j@debian-acer:~/c$ ./a.out ligne1 ligne2 ligne3 ************ fin passage 0 ************** ligne1 ligne2 ligne3 ************ fin passage 1 ************** ligne1 ligne2 ligne3 ************ fin passage 2 ************** lami20j@debian-acer:~/c$