2013-02-24 18 views
13

Próbuję utworzyć podstawowy system najlepszych wyników dla projektu, nad którym pracuję.C++ fstream zastąpić zamiast dodać

Problem, który mam, chociaż piszę nazwiska w mojej głównej sprawie, po prostu nadpisuję poprzednią.

Obecnie mam to:

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(); 

} 

i testowania Dodaję je tak:

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

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

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

Na wyświetlaczu obciążenia wszystko, co pojawi się wynik Maxim, jak mogę pętli i zapisać je wszystkie lub dołączyć wszystkie lub coś?

+0

Zapoznaj się z niektórymi opcjami za pośrednictwem [documentation] (http://en.cppreference.com/w/cpp/io/basic_ofstream/basic_ofstream). – chris

Odpowiedz

21

Musisz otworzyć plik w trybie dopisywania:

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

Istnieje various other modes też.

+2

Ach, że to dostałem, oni wszyscy zostali teraz uratowani. Nadal mam problem z moim ładowaniem i wyświetlaniem. Dziecięce kroki. :) Dzięki. – Springfox