cs_xakal
Messages postés30Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention 7 novembre 2005
-
15 juil. 2004 à 14:45
Utilisateur anonyme -
15 juil. 2004 à 16:44
J'ai des problemes avec les fichiers et C++.
Plus exactement Visual C++, ce que je cherche a faire c'est de lire un fichier et l'afficher ligne a ligne ds une fenetre.
Ca j'y arrive, le probleme est qu'avec VC++ il y a un raffraichissement des fenetres et le fichier que j'ai ouvert n'est lu qu'une seule fois.
Je pense que ca vient du fait que la position courrante du fichier n'est pas remise a jour mais c'est peut etre un autre probleme.
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 15 juil. 2004 à 15:06
"Ca j'y arrive, le probleme est qu'avec VC++ il y a un raffraichissement des fenetres et le fichier que j'ai ouvert n'est lu qu'une seule fois." << J'ai pas compris l'histoire des rafraichissements des fenetres sous VC specifikement, VC n'est qu'un ide, et jvoi pas ou est ton pb en fait, donne nous un peu plus de details, applic console ou fenetre ? Precise stp !
Avant le 2eme while, il faut replacer ton pointeur (de fichier) au debut du fichier (rewind(file_name);), car apres le premier while, il se trouve a la fin du fichier.
cs_xakal
Messages postés30Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention 7 novembre 2005 15 juil. 2004 à 15:33
Le raffraichissement :
Qd tu demandes un affichage a VC++ ds une scroll view, il y a une boucle infinie qui est lancee et tes calculs sont refait toutes les X sec, a l'oeil nu tu ne vois pas de clignottement mais en realite il y en a un.
Le probleme vient de la car je vois bien qu'au premier passage le fichier est lu mais apres il ne le relit jamais docn je suppose que VC++ crois que le fichier est tjs en fin de fichier et ne se remet pas a jour qd je refait une demande d'ouverture.
pour ce qui est de la variable titi elle sert a virer les 7 premieres lignes de mon fichier qui sont des commentaires ecrits par le programme qui me sort le fichier que je dois traiter avec mon pgme.
J'ai trouve une solution a mon pb, c'est pas beau mais ca a le merite de marcher.
je fais une copie du fichier et je lis ds la copie.
Ne me demandez pas pkoi ca marche mais ca marche.
Merci de votre reactivite.
Xakal
Ps: j'ai essaye le rewind et ca ne fait pas ce que je veux.
C'est sense remettre le compteur courrant a zero ?
Nop, rewind sert a remettre le pointeur au debut du fichier (avant le premier caractere si je ne me trompe pas)
Bah oui, le pointeur est a feof puisque pour sortir de ton while, tu lui dit while(!feof), donc quand il l'atteint, il sort.
C po qu'il croit, c que tu es en fin de fichier
On peut po appeler ca mise a jour, puis tu ne refait po de demande d'ouverture (avec fopen)
Tu ne fermes pas et ne rouvre po les fichier (c justement le role de rewind, eviter de faire ca)
Juntao
Vous n’avez pas trouvé la réponse que vous recherchez ?