C++ fstream sobrescribe en lugar de añadir
file overwrite (1)
Estoy tratando de crear un sistema básico de puntuación más alta para un proyecto en el que estoy trabajando.
El problema que tengo es que, aunque escribo los nombres en mi principal, solo sobrescriben el anterior.
Actualmente tengo esto:
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();
}
Y para las pruebas los estoy agregando así:
runner->saveScore("Robert", 34322);
runner->saveScore("Paul", 526);
runner->saveScore("Maxim", 34322);
En la pantalla de carga, todo lo que aparecerá será el puntaje de Maxim, ¿cómo puedo recorrerlos y guardarlos todos, o agregarlos todos o algo?
Necesitas abrir el archivo con el modo de añadir:
ofstream newFile("scorefile.txt", std::ios_base::app);
Hay documentation también.