JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=f7480513572d839229114a55b5932a05Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Objekte speichern und laden

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 19.01.2004, 15:51    Titel: Objekte speichern und laden Antworten mit Zitat

tachchen leutz

bin grad dabei mein 1. Spiel in c++ zu schreiben, und habn kleines prob mit meiner Highscore Liste, und zwar verwende ich die string Klasse der STL um die Namen in der Liste zu speichern, ich hab mir also ein Array von 10 string objekten angelegt

Code:

#include <string>

using namespace std;

string m_Names[10];


und hab meinen GameManager um folgende Routinen zum speichern bzw. laden ergänzt

Code:

void CGameManager::LoadScores(void)
{
   ifstream LoadFile;
   LoadFile.open(PATH_NAMES, ios::in | ios::binary);
   LoadFile.read((char*)m_Names, sizeof(m_Names));
   LoadFile.close();
}


void CGameManager::SaveScores(void)
{
   ofstream SaveFile;
   SaveFile.open(PATH_NAMES, ios::out | ios::binary);
   SaveFile.write((char*)m_Names, sizeof(m_Names));
   SaveFile.close();
}


aber irgendwie funzt das net so recht
kann mir mal wer helfen?

p.s.: hab die Forensuche benutzt aber nichts brauchbares gefunden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 19.01.2004, 16:39    Titel: Antworten mit Zitat

Code:
Savefile << m_Names[0];
Savefile << m_Names[1];
Savefile << m_Names[2];
Savefile << m_Names[3];
...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 20.01.2004, 14:52    Titel: Antworten mit Zitat

Das ganze natürlich am besten in einer schleife.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 22.01.2004, 08:18    Titel: Antworten mit Zitat

also hab das jetz folgendermaßen umgesetzt:

Code:

void CGameManager::LoadScores(void)
{
   ifstream LoadFile;
   LoadFile.open(PATH_NAMES, ios::in | ios::binary);
   for(i=0;i<10;i++)
       LoadFile >> m_Names[i];
   LoadFile.close();
}


void CGameManager::SaveScores(void)
{
   ofstream SaveFile;
   SaveFile.open(PATH_NAMES, ios::out | ios::binary);
   for(i=0;i<10;i++)
      SaveFile << m_Names[i];
   SaveFile.close();
}


funzt soweit och, gibt bloß noch das prob das scheinbar immer der gesamte Dateiinhalt schon in das 1. Arrayelement geladen wird, is irgendwie auch logisch, nur kann mir irgendjemand mal zeigen wie ich das hinkrieg das immer nur ein Eintrag aus der Datei in ein Element des Arrays geladen wird?


noch was andres, bei mir kommt immer Invalid_session wenn ich was posten will, kann wer was damit anfangen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 22.01.2004, 11:36    Titel: Antworten mit Zitat

LoadFile >> Array[i];

liest immer eine Zeile. DAs heißt du solltest deine Elemente bei Save am besten so reinschreiben

Code:
for(int i=0;i<10;i++)
{
         SaveFile << Array[i];
         SaveFile << '\n';// also ein Element schreiben, dann neue Zeile,
                                 // dann nächstes Element schreiben, wieder neue
                                 // Zeile, ....
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum