Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

28.06.2010, 15:21

Muss ich die Iteratoren speichern oder wie speiche ich sonst die Elemente?
Wo soll ich die resize Funktion verwenden? Die gibt es bei einer Multimap nicht? (Hoffe, ich hab sie nicht übersehen ^^)
Wo kann ich den << Operator verwenden?
Sorry, dass ich so viele Fragen hab. ICh blich dabei nicht ganz durch und mir ist nicht so ganz klar, wie das mit den speichern mehrerer Daten (Elemente) in EINER Datei funktionieren soll ... Und wie man die dann wieder auslesen kann aus EINER Datei

edit: Das mit dem << Operator hab ich verstanden ... Du meinst, dass ich das statt der insert - Funktion in die Liste eintragen soll? Sprich "m_Highscore << make_pair(fScore,sName)" ?

edit2: Wäre ein Pointer auf einen char (char*) nicht besser als eine const Referenz ?

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

12

28.06.2010, 15:37

vergiss das mit dem resize wieder... ich war im kopf bei std::vector^^

wie es aussiehst hast du den << operator doch nicht verstanden. http://www.cplusplus.com/reference/iostream/ofstream/

Zitat

Wäre ein Pointer auf einen char (char*) nicht besser als eine const Referenz ?

warum sollte das besser sein?

an deiner stelle würd ich mich noch ein paar stunden mit deinem nachschlagewerk beschäftigen sonst wirst du die nächsten 2 jahre noch jeden tag solche fragen stellen.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

13

28.06.2010, 17:56

lol die beiden posts nach thevoid waren scherze^^

Neusprech("Newspeak"), 1984, George Orwell. :)
Durchaus kein Scherz! Mastermind verstehts.

Allerdings kann ich dem Ganzen einen gewissen "lol-Faktor" nicht absprechen ;). Wenn man dann aber die Bedeutung versteht, ist es schon nicht mehr so witzig :P.

Sorry für das OT. Aber, das musste ich noch ergänzen!
WIP Website: kevinheese.de

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

14

28.06.2010, 21:07

Hä? Ich kann nich folgen
<< an dieser Stelle ist eine Signatur verstorben >>

15

29.06.2010, 15:52

Wäre toll, wenn mir jemand ein Beispiel für das Ein - und Auslesen der Elemente einer Multimap gibt ... Ich verstehs meistens am besten, wenn ich den Code vor mir sehe und den dann durchgehen kann ...

PS: Das mit der Referenz versteh ich schon ... Weiß auch nicht, was ich mir da mitnem Pointer gedacht hab ^^

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

16

29.06.2010, 16:35

du kannst es doch schon. das ist ne einfache ausgabe wie diese:

C-/C++-Quelltext

1
2
3
4
5
for(It = Map.begin(); It != Map.end(); It++)
    {
        cout << It->second.c_str() << " : " << It->first << endl;
        cout << "HASIH";
    }
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

17

29.06.2010, 18:21

du kannst es doch schon. das ist ne einfache ausgabe wie diese:[...]

nur eben nicht nach cout, sodnern in nen ofstream.
btw, falls du's noch ncith gesehen hast: sowohl cout als auch ofstream sind ostreams, verfügen also beide größtenteils über die selben methoden - genau wie ifstream, cin und istream ;)

18

29.06.2010, 18:29

Jep, ist mir aufgefallsen ^^ Vielen Dank schon mal ... ich glaub aber, dass ich mich da iwie in was verrenn.

Hier mal mein aktualisierter Code für das File:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void CHighscore::Load(char* cPath)
{
    ifstream Input(cPath,ios::binary);
    if(Input == NULL)
    {
        cout << "Fehler beim öffnen der Datei: " << cPath << endl;
    }
    else
    {
        multimap<float,string,greater<float>>::iterator It;
        while(!Input.eof())
        {
            Input >> It;
        }
        Input.close();
    }
}

//Funktion zum speichern einer Highscore - Multimap in einer Datei
void CHighscore::Save(char* cPath)
{
    ofstream Output(cPath,ios::binary);
    if(Output == NULL)
    {
        cout << "Fehler beim öffnen der Datei: " << cPath << endl;
    }
    else
    {
        multimap<float,string,greater<float>>::iterator It;
        for(It = m_HighscoreMap.begin(); It != m_HighscoreMap.end(); It++)
        {
            Output << It << endl;
        }
        Output.close();
    }
}

19

29.06.2010, 19:17

wäre mir neu, das es eienn operator << für multimap<float,string,greater<float> >::iterator als rechtsseitigen operand gibt ;-)
btw: du vergisst die map zu vergrößern ;)

20

30.06.2010, 12:29

wäre mir neu, das es eienn operator << für multimap >::iterator als rechtsseitigen operand gibt ;-)
btw: du vergisst die map zu vergrößern ;)
Gibt es auch nicht ... Bekomme eh eine Fehlermeldung deswegen ... Darum mein ich ja auch, dass ich mich da verenn ;)

Werbeanzeige