Hmm,
so wie ich das sehe, ist das ohnehin der falsche Ansatz, um einfach eine Zahl in eine Datei zu schreiben. Mit der kleinen Zeile
|
C-/C++-Quelltext
|
1
|
file << Spielerpunkte.Punkte << endl;
|
schreibst du die Zahl in die Datei und umgekehrt (wenn sie zum lesen geöffnet wurde) liest
|
C-/C++-Quelltext
|
1
|
file >> Spielerpunkte.Punkte
|
das ganze wieder ein. Auf diese Weise hast du dann auch eine Textdatei, die man sich in einem Texteditor wieder anschauen kannst.
Wenn es denn schon binär gespeichert werden soll (was nicht ohne ist, weil man da ein paar Sachen bedenken muss, die nicht offensichtlich sind) scheint mir der Ansatz auch unvollständig. In diesem Fall, solltest du nicht nur ein Element deiner sSave Struktur speichern, sondern alles davon, also
|
C-/C++-Quelltext
|
1
|
file.write (reinterpret_cast<const char*> (&Spielerpunkte), sizeof (sSave))
|
zum Speichern der kompletten Struktur. Laden des ganzen ist dann wieder einfach durch
|
C-/C++-Quelltext
|
1
|
file.read (reinterpret_cast<char*> (&Spielerpunkte), sizeof (sSave))
|
erledigt. Das ist dann eine Binärdatei, die man in einem normalen Texeditor vermutlich nicht mehr anschauen kann, ohne sich zu wundern.
Wenn du wirklich nur die Punkte speichern willst, hat David völlig recht; dann müsste es wohl eher
|
C-/C++-Quelltext
|
1
|
sizeof (Spielerpunkte.Punkte)
|
heissen.
Gruss,
Rainer
Hier steht was über C++ iostreams:
http://www.cplusplus.com/ref/
Edit: Beim Lesen darf es natürlich nicht "const char*" sein...