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

ロード表示で表示されるのはマキシムのスコアだけですが、ループしてすべてを保存したり、すべてまたは何かを追加したりするにはどうすればよいですか?

4

1 に答える 1

44

追加モードでファイルを開く必要があります。

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

他にもいろいろなモードがあります。

于 2013-02-24T20:42:12.603 に答える