Binär Datei schreiben
-
Hallo,
ich glaube mein Programm schreibt nicht richtig im Binär Modus:
struct Daten { string s; int a; }; Daten daten; daten.a = 12345; daten.s = "Hallo"; ofstream outClientFile("clients.dat", ios::binary); if (!outClientFile) { cerr << "File could not be opened" << endl; exit(1); } else { outClientFile.write(reinterpret_cast<const char*> (&daten), sizeof(daten)); } outClientFile.close();Es sollen die Daten in daten in die Datei geschrieben werden im Binärmodus und ich möchte die Datei mit einem Hex Editor öffnen und im ASCII Bereich die Daten wieder finden. Da stehen aber nur komischen Zeichen (auch im ASCII Bereich)
-
Du darfst nur POD-Typen byteweise serialisieren.
Deine Klasse
Datenist kein POD-Typ, weil siestd::stringals Member enthält (welcher ebenfalls kein POD-Typ ist). Schreibe entweder im Textformat, oder extrahiere den internen C-String mitstd::string::c_str().