[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
- Télécharger matlab gratuit ✓ - Forum Logiciels
- Boucle for matlab ✓ - Forum Matlab
- Gnu octave matlab - Télécharger - Édition & Programmation
- Derivée matlab - Forum Matlab
- Matlab vecteur ✓ - 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$