Je ne sais pas grand-chose à propos de MFC, mais votre problème est plutôt trivialement résolu en utilisant Boost.Serialization
struct MapData {
int m_int;
std::string m_str;
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive &ar, const unsigned int version)
{
ar & m_int;
ar & m_str;
}
};
std::map< int, MapData > theData;
template<class Archive>
void serialize(Archive & ar, std::map< int, MapData > & data, const unsigned int version)
{
ar & data;
}
Et puis plus tard étiez vous voulez faire le vrai archivage:
std::ofstream ofs("filename");
boost::archive::binary_oarchive oa(ofs);
oa << theData;
Ca y est .
(disclaimer: le code simplement tapé dans cette case, pas testé du tout, de faute de frappe étaient destinés;)
Merci beaucoup! L'utilisation de boost est un bon choix. Cependant, j'ai travaillé sur l'utilisation de CArchive. L'idée principale de mon approche est de sérialiser chaque élément de la carte. – user26404