Hallo Checkmateing,
hab ich schon versucht,
also eine Schleife um die ofstream- und ifstream-Objekte "gebaut", um dann die einzelnen Spieler in die Datei zu schreiben und wieder auszulesen.
Hier ein Codeauschnitt (der Einfachheit halber gehen wir davon aus, dass sich alles in der "main.cpp"-Datei abspielt):
#include <iostream>
#include <fstream>
using namespace std;
class CSpieler
{
public:
int m_Punkte;
char m_Name[20];
};
int main()
{
CSpieler *pSpielerliste = NULL;
int anzahl = 10; //Festlegung auf 10 Spieler, auf Abfrage via cin wurde hier verzichtet
pSpielerliste = new CSpieler[anzahl];
...
...
...
//Zum Einlesen
ofstream Output("Spielstand.sps", ios::binary);
for (int i = 0; i < anzahl; ++i)
{
Output.Write((char *)&pSpielerliste
[i], sizeof (pSpielerliste[i]));
}
Output.close ();
//Zur Wiederausgabe
ifstream Input ("Spielstand.sps", ios::binary);
for (int y = 0; y < anzahl; ++y)
{
Input.read ((char *)&pSpielerliste[y], sizeof (pSpielerliste[y]));
cout << "\n" << pSpielerliste[y].m_Name << " hat bisher "<< pSpielerliste[y].m_Punkte << " erreicht." << endl;
}
Input.close ();
delete[] pSpielerliste;
pSpielerliste = NULL;
return 0;
}
So müsste es eigentlich funktionieren, aber das Programm stürzt hier immer ab, obwohl vorher beim Kompilieren keinen Fehlermeldung angezeigt wird.
[/i][/i]