Подтвердить что ты не робот

С++ fstream перезаписывает вместо добавления

Я пытаюсь создать базовую рекордерную систему для проекта, над которым я работаю.

Проблема, с которой я столкнулась, заключается в том, что, хотя я пишу имена в свою основную, они просто перезаписывают предыдущие.

В настоящее время у меня есть:

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

}

и для тестирования я добавляю их так:

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

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

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

При отображении нагрузки все, что появится, - это оценка Максима, как я могу прокручивать и сохранять их все, или добавлять все или что-то еще?

4b9b3361

Ответ 1

Вам нужно открыть файл в режиме добавления:

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

Существуют и другие режимы.