Bug de position avec fstream->tellg()

Bub325 Messages postés 41 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 28 avril 2010 - 19 juil. 2003 à 09:14
Bub325 Messages postés 41 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 28 avril 2010 - 20 juil. 2003 à 11:47
Salut,
J'ai un problème, je suiis sous visual c++ et lorsque je fait un tellg sur un objet fstream, il m'avance parfois d'un octet dans le fichier ce qui m'ammène à des bugs de lecture. comment ce fait il ? et comment l'éviter ?

Exemple de code utilisé :

#include <fstream>
#include 
#include <string.h>

#define C_SIZE 0xFF

int main()
{
char ligne[C_SIZE];
int pos = 0;

fstream* fcpp = new fstream;
fcpp->open("jeu_pas.cpp",ios::in | ios::out);

do
{
cout << ligne << endl;
 		pos = fcpp->tellp();
} while ((fcpp->getline(ligne,C_SIZE)) && (strcmp(ligne,"//>fin") != 0));

delete fcpp;

return 0;
}



Merci beaucoup pour vos réponses car ce bug m'ennuis particulièrement.

PS:
Si on supprime la ligne pos = fcpp->tellp(); je n'ai plus aucun bug, sinon j'ai parfois le premier caractère d'une ligne qui disparait.

Bub325
Le codeur pas comme tout le monde
8-)

2 réponses

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
20 juil. 2003 à 11:24
Utilise les fonction C et non C++, c'est plus facile !

(Mais quel est le but de ton programme ??)
:-p :sleepy) :shy) :sleepy) :-p
0
Bub325 Messages postés 41 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 28 avril 2010
20 juil. 2003 à 11:47
Le bug de mon programme est que je lit />>GAME: au lieu de //>>GAME: par exemple, ce qui fausse tout mon programme
(Ce code n'en est qu'un extrait)

Bub325
Le codeur pas comme tout le monde
8-)
0
Rejoignez-nous