Bonjour,
j'ai un bug assez penible, j'ecris dans un fichier mais le resultat n'est pas celui attendu :
voici mon code :
gestion du fichier :
je passe par une premiere fonction ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 std::ofstream fh("test.txt", std::ios::out | std::ios::trunc); if(!fh) return; fh<<"TEST!!!"<<std::endl; worldarea->SaveState(fh); // liste les worlds fh.close();
et enfin, là ou ca debloque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void worlds::SaveState(std::ostream& sav) { sav<<"===WORLDS"<<std::endl; for (std::vector<world*>::iterator it=vWorlds.begin();it!=vWorlds.end();++it) { sav<<"->"<<it; // j'ai ajouté le "->" pour reperage dans le fichier } sav<<"---WORLDS"<<std::endl; }
ce me semble assez simple comme code,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 std::ostream& operator<< (std::ostream& sav, const world &w) { sav<<w.id<<" "<<w.complete<<" "<<w.rings<<std::endl; return sav; }
et voilà ce que ca donne dans le fichier :
voilà, je ne comprends pas : tout ce qui se passe en dehors de l'operateur << fonctionne, mais pas du tout ce qu'il se passe dedans (même le std::endl ne revient pas à la ligne)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TEST!!! ===WORLDS ->00A19850->00A19854->00A19858->00A1985C---WORLDS
j'ai pas précisé mais id est un int, complete un bool et rings un int.
si vous avez une idée...
D'avance, merci.
Partager