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.
Eine Beispieldatei könnte so aussehen:
%Vor%