ti-enxame.com

Substituição do fluxo de caracteres do C ++ em vez de acrescentar

Estou tentando criar um sistema básico de pontuação para um projeto em que estou trabalhando.

O problema que estou tendo é que, embora eu escreva os nomes no meu principal, eles apenas substituem o anterior.

Atualmente eu tenho isso:

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

}

e para testar eu estou adicionando eles da seguinte forma:

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

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

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

Na exibição de carga, tudo o que aparecerá é a pontuação de Maxim, como posso percorrer e salvar todos eles ou anexar tudo ou algo assim?

25
Springfox

Você precisa abrir o arquivo com o modo de acréscimo:

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

Existem vários outros modos também.

39
Joseph Mansfield