Hey, ich habe gerade etwas über den I / O-Teil der STL gelernt, genauer gesagt über Fstream. Obwohl ich jetzt binäre Informationen und Klassen, die ich erstellt habe, auf der Festplatte speichern kann, bin ich mir nicht sicher, wie ich definieren soll, wie die Informationen gelesen werden sollen.
Ich habe die Antwort für das Erstellen eines Dateiformats aus [diesem] [1] Beitrag gesehen:
In der Regel definieren Sie viele Datensätze / Strukturen, z. B. BITMAPINFOHEADER, und geben an, in welcher Reihenfolge sie kommen sollen, wie sie eingebettet werden sollen, und Sie müssen möglicherweise viele Angaben und Nachschlagetabellen schreiben. Solche Dateien bestehen aus einer Reihe von Datensätzen (möglicherweise eingebettet), Nachschlagetabellen, magischen Wörtern (Beginn der Struktur, Ende der Struktur usw.) und Zeichenfolgen in einem benutzerdefinierten Format.
Was ich speziell wissen möchte, ist, wie man das mit STL und C ++ macht ... Da das Format nur für die Verwendung eines Spiels gedacht ist, würde ich denken, dass es viel einfacher wäre. Das Format sollte:
- Sei durchquerbar (ich kann es durchsehen und den Anfang der Struktur finden und vielleicht den Namen überprüfen
- Sie können mehrere Klassen und Daten in einer einzigen Datei speichern
- identifizierbare Start- und Endpunkte für Abschnitte haben: z. B. den Platz in Textdateien
- Vielleicht haben Sie ein eigenes Symbol, um es darzustellen?
Wie mache ich das in c ++?
quelle
Antworten:
versuchen Sie es mit Boost Serialize ! Abgesehen davon fragen Sie nach der Implementierung der Serialisierung, und das ist eine wirklich komplizierte Sache! Ich habe kürzlich eine Implementierung für die Serialisierung implementiert und es ist kein einfacher Fall, darüber zu sprechen.
Es gibt auch eine andere Möglichkeit, nur eine Klasse in einer Datei zu speichern, die alle benötigten Informationen enthält, wodurch das Speichern / Laden von Klassen viel einfacher wird.
Übrigens hat das Symbol nichts mit dem Dateiformat zu tun, es wird vom Betriebssystem pro Datei generiert, und normalerweise werden Symbole irgendwo zwischen den Betriebssystemdateien gespeichert. außer für ausführbare Windows-Dateien (soweit ich weiß). Ausführbare Windows-Dateien sind wie ein komprimierter Ordner, der die eigentlichen Binäroperationen, Symboldaten für verschiedene Auflösungen und möglicherweise einige andere Daten zum Betriebssystem selbst enthält.
quelle