Voici un exemple de code:En utilisant le même objet CArchive pour archiver et désarchiver
CFile serFile;
serFile.Open(_T("Person.ser"), CFile::modeCreate | CFile::modeWrite);
CArchive writer(&serFile, CArchive::store);
me.Serialize(writer);
writer.Close();
serFile.Close();
serFile.Open(_T("Person.ser"), CFile::modeRead);
CArchive reader(&serFile, CArchive::load);
CPerson clone;
clone.Serialize(reader);
reader.Close();
serFile.Close();
Ici, j'ai un writer
qui archive l'objet me
. Ensuite, j'utilise un autre objet reader
pour le désarchiver. Est-il possible de re-construire ou de définir une propriété de writer
pour le rendre, le lecteur au lieu de déclarer un autre CArchive
objet reader
?
Merci.
DId vous vérifiez si vous pouvez éditer cette propriété CArchive :: load); après la création du lecteur. Je veux dire qu'après la création de l'objet, vous n'avez pas de settype ou de setattribute une fonction qui vous permettrait de le changer. – ckv
'CArchive :: load' est un' enum' que nous utilisons lors de la construction d'un objet 'CArchive'. 'enum Mode {magasin = 0, charge = 1, bNoFlushOnDelete = 2, bNoByteSwap = 4};' – bdhar