in Binärdateien schreiben

7
%Vor%

Ich weiß nicht, wie man mehr als eine Variable in eine Datei schreibt, bitte helfe, ich habe ein Beispiel hinzugefügt;) Vielleicht gibt es bessere Möglichkeiten, in eine Datei zu schreiben, bitte hilf mir dabei, es ist mir zu schwer zu lösen.

    
Wizard 30.11.2011, 16:53
quelle

2 Antworten

15

Für eine Text -Datei könnten Sie einfach eine Variable pro Zeile ausgeben, indem Sie eine ähnliche << verwenden, die Sie mit std::cout verwenden.

Für eine binäre Datei müssen Sie std::ostream::write() , die eine Bytefolge schreibt. Für Ihr age -Attribut müssen Sie reinterpret_cast this auf const char* setzen und so viele Bytes schreiben, wie nötig sind, um ein int für Ihre Maschinenarchitektur zu speichern. Beachten Sie, dass Sie, wenn Sie dieses Binärdatum auf einem anderen Computer lesen möchten, Wortgröße und endianness in Betracht ziehen. Ich empfehle auch, dass Sie die name und surname Puffer zero, bevor Sie sie verwenden, damit Sie mit Artefakten von nicht initialisiertem Speicher in Ihrer Binärdatei enden.

Außerdem müssen Attribute der Klasse nicht in die Methode to_file() übergeben werden.

%Vor%

Eine Beispieldatei könnte so aussehen:

%Vor%     
Johnsyweb 18.12.2011, 09:25
quelle
5
%Vor%     
Dani 30.11.2011 16:56
quelle

Tags und Links