29

我正在尝试为我正在从事的项目创建一个基本的高分系统。

我遇到的问题是,尽管我将名称写入我的主要名称,但它们只是覆盖了以前的名称。

目前我有这个:

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

在加载显示上,所有将出现的是Maxim的分数,我如何循环并保存它们,或者全部附加或什么?

4

1 回答 1

44

您需要使用附加模式打开文件:

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

还有各种其他模式

于 2013-02-24T20:42:12.603 回答