Bonjour,
Je voudrais savoir comment orienter la s�rialisation d'un objet dans un fichier.
D'autre part l'instruction ci-dessous, ne fonctionne pas, auriez vous une autre solution :
unsigned __int64 var1
ar << var1
Merci,
Christophe,
Version imprimable
Bonjour,
Je voudrais savoir comment orienter la s�rialisation d'un objet dans un fichier.
D'autre part l'instruction ci-dessous, ne fonctionne pas, auriez vous une autre solution :
unsigned __int64 var1
ar << var1
Merci,
Christophe,
Salut,
tu trouveras peut-etre la solution � tes questions ici :
http://c.developpez.com/faq/vc/?page...HowToSerialize
Pour l'�criture et la lecture, une mani�re possible de s�rialiser:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 //Création d'un objet CFile CFile File; //ouverture du fichier en mode écriture if(File.Open("MyArchive.arc", CFile::modeCreate | CFile::modeWrite )) { //Création d'un objet CArchive associé au CFile CArchive ar( &File, CArchive::store); //serialisation de l'objet m_Object.Serialize(ar); }
o� m_object est un objet de CClass (d�riv�e de CObject)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 //Création d'un objet CFile CFile File; //ouverture du fichier en mode lecture if(File.Open("MyArchive.arc", CFile::modeRead )) { //Création d'un objet CArchive associé au CFile CArchive ar( &File, CArchive::load); //serialisation de l'objet m_Object.Serialize(ar); }
et la m�thode Serialize de CClass donnerait qqch du genre:
dans le cas o� tes variables membres sont primitives et donc o� tu peux utiliser les >> (lecture) et << (�criture).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void CClass::Serialize(CArchive &ar) { CObject::Serialize(ar); if (ar.IsStoring()) { ar << var_membre1 << var_membre2 << var_membre3; } else { ar >> var_membre1 >> var_membre2 >> var_membre3; } }
Sinon, si les << et >> ne s'appliquent pas, essaye de voir les m�thodes Write et Read de CArchive...