No sé mucho acerca de MFC, pero el problema es más bien trivial resolver utilizando 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;
}
Y más tarde estaba usted quiere hacer el verdadero archivo:
std::ofstream ofs("filename");
boost::archive::binary_oarchive oa(ofs);
oa << theData;
Eso es todo .
(exención de responsabilidad: Código simplemente escrito en este cuadro, no se ha probado en absoluto, error tipográfico estaban destinados;)
¡Gracias! Usar boost es una buena opción. Sin embargo, resolví el enfoque de usar CArchive. La idea principal de mi enfoque es serializar cada elemento del mapa. – user26404