Vielen Dank schonmal! So geht es zwar auch nocht nicht, aber ich hab aber inzwischen rausgefunden wie es klappt. Du warst nah dran.
Was bei deiner zweiten Lösung gefehlt hat ist die reinterpretierung als (char*). So kann ich nun tatsächlich problemlos int´s beliebiger länge einspeichern. Was noch nicht klappt sind structures.
Code:
__int32 daten = 19778;
struct myStruct { [...] };
myStruct testStruct ;
[...]
ofstream test ("test.bin",ios::out | ios::binary);
test.write ((char*) &daten,2); //klappt wunderbar
test.write ((char*) &testStruct, sizeof(myStruct)); //klappt nicht so ganz
test.close();
Der Compiler kompiliert das ganze zwar anstandslos, auch schreibt das Programm dann tatsächlich entsprechend viele Bytes (sizeof(...) Bytes) in die Datei, allerdings sind diese alle Null.
Wenn ich einzelne Variablen von meiner structure anspreche (also statt "&testStruct" zu nehmen "&testStruct.Var1" benutze), dann klappt das wunderbar. Nun meine Frage, (wie) kann ich die ganze structure auf ein Mal in den Stream packen?
Grüße, Lufti