2010-08-11 6 views
-2

J'ai écrit un objet dans un fichier mais lorsque je lis l'objet du fichier, il n'a pas la bonne valeur. Si 1 objet est considéré comme 1 enregistrement et s'il n'y a qu'un seul enregistrement dans le fichier, il obtient la valeur. Si j'écris plus d'enregistrements (plusieurs objets du même type), alors la valeur n'est pas obtenue.Opération de fichier en C++

+8

Afficher votre code aiderait. – sje397

+0

Peut-être que vous essayez d'ouvrir un fichier plusieurs fois, cela ne peut pas être fait. Lorsqu'un fichier est ouvert, vous devez le fermer avant de l'ouvrir. –

+1

http://www.cplusplus.com/doc/tutorial/files/. Avoir une lecture et essayer de comprendre. – DumbCoder

Répondre

1

Il pourrait y avoir quelques problèmes. Du haut de ma tête, cela pourrait être un problème avec la manière dont vous interagissez avec le fichier, comme l'indiquent les commentaires ci-dessus. Ou ce pourrait être un problème de sérialisation.

J'ai récemment appris que l'on ne peut pas écrire simplement une classe dans un fichier parce que sa mémoire n'est pas forcément contiguë (d'autres raisons aussi, mais la morale que j'ai prise était de ne pas le faire). A la place, il faut sérialiser l'objet/classe avant de l'écrire dans le fichier.

Quelques ressources web que je trouve utile pour cela sont:

http://functionx.com/cpp/articles/serialization.htm (je l'ai aimé celui-ci beaucoup).

http://functionx.com/cpp/articles/serialization.htm

Is it possible to serialize and deserialize a class in C++?