2013-02-24 13 views
13

Ich versuche ein einfaches Highscore-System für ein Projekt zu erstellen, an dem ich gerade arbeite.C++ fstream überschreiben statt anhängen

Das Problem, das ich habe, ist, obwohl ich die Namen in meine Haupt schreiben sie überschreiben nur die vorherige.

Zur Zeit habe ich dies:

void ManagePoint::saveScore(string Name, int Score) 
{ 

    ofstream newFile("scorefile.txt"); 

    if(newFile.is_open()) 
    { 
     newFile << Name << " " << Score;    
    } 
    else 
    { 
     //You're in trouble now Mr! 
    } 


    newFile.close(); 

} 

und zum Testen Ich füge sie wie so:

runner->saveScore("Robert", 34322); 

runner->saveScore("Paul", 526); 

runner->saveScore("Maxim", 34322); 

Auf Lastanzeige alles, was Maxims ist Punktzahl angezeigt, wie kann ich Schleife durch und sie alle speichern oder alles oder etwas anhängen?

+0

Werfen Sie einen Blick auf einige Optionen über [Dokumentation] (http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream). – chris

Antwort

21

Sie müssen die Datei mit dem Zufügen-Modus öffnen:

ofstream newFile("scorefile.txt", std::ios_base::app); 

Es gibt zu various other modes.

+2

Ah, das hat es, sie haben jetzt alle gerettet. Habe immer noch ein Problem mit meinem Laden und Anzeigen. Kleine Schritte. :) Vielen Dank. – Springfox

Verwandte Themen