Lire dans un fichier

Signaler
Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006
-
Messages postés
18
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
4 mai 2004
-
C'est bon j'ai fini mon programme ! enfin presque ! :')
J'aimerais lire dans un fichier, donc je l'ouvre et j'utilise ceci:
char szBuffer[5000];
while(!(feof(fp))) {
fgets(szBuffer, i++, fp);
}
puts(szBuffer);
Donc ici je devrer voir tout le contenut de mon txt aparaiitre non ?
Et bien il doit y avoir un pb car il ne me montre que les deux dernieres lignes du fichier !!!

8 réponses

Messages postés
199
Date d'inscription
lundi 22 juillet 2002
Statut
Membre
Dernière intervention
14 juin 2006

Slt,

Place toi au début du fichier : rewind ( fp ) ;

Bon Dev

Trinita
Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
le prototype de fgets est :
char *fgets(char *s, int n, FILE *stream);
où n est la taille de ce que tu veux lire
dans ton cas ce serais donc la taille du buffer soit 5000
et après le fgets tu transfère la chaine contenue dans ton buffer soit à l'écran soit dans un edteur soit dans n'importe qu'elle structure pour traitement.

A+
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004

Salut,
Bon j'y connais pas grand chose a la gestion de fichier,
mais voila ce que je propose (solution un peu batarde, mais sans changer trop ton code)

void main()
{
int i=0;
FILE *fp = fopen("c:\\test\\test.txt","r");
char szBuffer[255]="";
while(!(feof(fp))) { 
char c[255]="";
fgets(c,i++, fp); //tu peux utiliser fread c mieux
strcat(szBuffer,c); //copie ce qu'il a lu a la suite de de szBuffer a chaque fois.
}

puts(szBuffer); //affiche szBuffer
}

Bon je reconnais que c un peu en c******, mais je voulais pas tro changer ton code.
Bye, Xentor609
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

salut,
il y a dans les codes des exemples pour lire les fichiers :
http://www.cppfrance.com/article.aspx?Val=2129
http://www.cppfrance.com/forum.aspx?Article=7449
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
Heu il y a un petit probleme :

Fait pas ton while, mais fgets(szBuffer,4999,fp)

Sinon je ne vois pas comment ca pourrait marcher !

:-p :sleepy) :shy) :sleepy) :-p
Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006

Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006

merci pour tout !
http://totalpc.free.fr :)
Messages postés
18
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
4 mai 2004

Moi j'arrive a afficher toutes les lignes de mon fichier mais ensuite je dois faire une conversion.Est ce possible de retrouver ou d'isoler des mots quand on utilise fgets?

vive le c++