Ich habe eine Karte vom TypC++ - Wie man eine Karte in eine Datei schreiben und es später wieder
map<int,set<int> >
, die ich brauche, um eine Datei in der lokalen Festplatte zu schreiben und es später wieder zu lesen. Es ist zu groß, um im Programmspeicher gespeichert zu werden, wenn das aktuelle Programm läuft. Daher denke ich daran, den Inhalt der Karte stattdessen in eine Datei zu schreiben und diese später wieder zu lesen. Ich weiß, dass dies unter Verwendung
FileOutputStream, ObjectInputStream and InputObjectStream
in Java getan werden kann. Gibt es eine ähnliche Methode in C++? Ich versuche, dies mit Boost zu versuchen.
#include <boost/serialization/map.hpp>
int main(){
map<int,set<int> > mp;
std::ofstream ofs("filename");
boost::serialization::map M(ofs);
M<<mp;
//after this add key-value pairs to mp
}
http://www.stev.org/post/2012/03/19/C++-Read-Write-stdmap-to-a-file.aspx Ich denke, diese Verbindung sehr nützlich sein kann –
Es gibt viele Serialisierung Bibliotheken für C++ verfügbar ... zum Beispiel boost :: serialization – steiner
Ich möchte die Karte direkt in eine Datei schreiben. Schreiben Sie es nicht zur Laufzeit in den Programmspeicher und schreiben Sie es am Ende des Programms in eine Datei. Würden die Boost-Bibliotheken dies ermöglichen? – samurdhilbk