txt manejo lenguaje leer lectura guardar fscanf fputs escritura ejercicios ejemplos datos archivos archivo c++ ofstream

manejo - lectura y escritura de archivos en c++



Evite que se sobrescriba el contenido de un archivo existente al escribir en un archivo (2)

Si simplemente desea adjuntar al final del archivo, puede abrir el archivo en modo agregado, por lo que cualquier escritura se realiza al final del archivo y no sobrescribe el contenido del archivo que existía anteriormente:

ofstream fout("filename.txt", ios::app);

Si desea sobrescribir una línea específica de texto con datos en lugar de simplemente agregarlos al final con el modo de agregar, probablemente sea mejor que lea el archivo y analice los datos, luego los arregle (agregando lo que sea, eliminando lo que sea, editando lo que sea) y escribir todo de nuevo en el archivo de nuevo.

Estoy tratando de hacer un juego que implemente puntuaciones altas en un archivo .txt. La pregunta que tengo es esta: cuando hago una declaración como:

ofstream fout("filename.txt");

¿Crea esto un archivo con ese nombre, o simplemente busca un archivo con ese nombre?

La cosa es que cada vez que comienzo el programa de nuevo y hago la siguiente declaración:

fout << score << endl << player;

sobrescribe mis puntuaciones anteriores!

¿Hay alguna forma de hacerlo para que las nuevas puntuaciones no sobrescriban las antiguas cuando escribo en el archivo?


std::ofstream crea un nuevo archivo de forma predeterminada. Tienes que crear el archivo con el parámetro de añadir .

ofstream fout("filename.txt", ios::app);