Éviter le contenu d'un fichier existant à remplacer lors de l'écriture dans un fichier
Je suis en train de faire un jeu qui met en œuvre des scores élevés dans une .fichier txt. La question que j'ai, c'est que lorsque je fais un énoncé tel que:
ofstream fout("filename.txt");
Cela ne crée un fichier avec ce nom, ou tout simplement chercher un fichier avec ce nom?
Le truc, c'est qu'à chaque fois que je démarre le programme de nouveau et de faire la déclaration suivante:
fout << score << endl << player;
il remplace mon précédent scores!
Est-il de toute façon pour moi de faire en sorte que les nouvelles partitions de ne pas écraser les anciens quand j'écris dans le fichier?
source d'informationauteur Monkeyanator
Vous devez vous connecter pour publier un commentaire.
std::ofstream
crée un nouveau fichier par défaut. Vous devez créer le fichier avec l' ajout du paramètre.Si vous souhaitez simplement ajouter à la fin du fichier, vous pouvez ouvrir le fichier en mode ajout, de sorte que toute écriture se fait à la fin du fichier et permet de ne pas écraser le contenu du fichier qui existait auparavant:
Si vous souhaitez remplacer une ligne de texte avec des données au lieu de simplement virer de bord sur la fin avec mode d'ajout, vous êtes probablement mieux de la lecture du fichier et l'analyse des données, puis le fixer en place (en ajoutant que ce soit, quelle que soit la suppression, la modification quoi que ce soit) et l'écriture de tous de retour dans le fichier de nouveau.