Если вы хотите сделать это вручную, так же, как вы бы упорствовать любую другую структуру контейнера, выписывать отдельные части на диск:
outputFile.Write(thisMap.size());
for (map<...>::const_iterator i = thisMap.begin(); i != thisMap.end(); ++iMap)
{
outputFile.Write(i->first);
outputFile.Write(i->second);
}
и затем прочитать их обратно:
size_t mapSize = inputFile.Read();
for (size_t i = 0; i < mapSize; ++i)
{
keyType key = inputFile.Read();
valueType value = inputFile.Read();
thisMap[key] = value;
}
Очевидно, что вам нужно сделать вещи работают на основе вашего типа карты и файл ввода/вывода библиотеки.
В противном случае попробуйте boost serialization, или google's new serialization library.