Salut,
j'essaye d'écrire et de lire des données dans un fichier, en fait ici je suis entrain de tester avec un pointeur sur un objet polymorphique, j'arrive bien à écrire les entier dans le fichier et à réallouer le type réel de l'objet à la lecture, voici le fichier :
la 1ère valeur est juste l'id du pointeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 0-10001001001005050501
le second paramètre est l'id du type dérivé. (je pense que je pourrai l'omettre car même sans connaître le type réel de l'objet à la lecture le type du pointeur est bien le type réel de l'objet (j'ai testé avec typeid) donc je pense que ça alloue le même espace mémoire pour chaque types. (de base et dérivés))
Je ne pense donc pas que le problème vienne de là.
Le problème semble venir de ifstream qui ne conserve pas la taille des types, mes entier, par exemple, si j'ai 100 comme valeur ça me lis 1, puis ça ignore les 0 et ça me relis 1, etc..., bref, il me lit pas bien les valeurs, faut t'il stocker soit même la taille des nombres et lire les chiffres un par un ?
Bref je ne vois pas très bien comment faire et je sais pas trop comment fonctionne ifstream en mode texte lorsqu'il lis le fichier :
Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void operator() (T& data, D...) { //std::cout<<std::endl; buffer>>data; std::cout<<"int : "<<data<<std::endl; /*std::string s; std::cin>>s;*/ }
Voilà donc merci d'avance pou vos réponses.
Partager