我正在尝试制作一个游戏,将高分数保存到一个.txt文件中。我有一个问题:当我编写以下代码时:
ofstream fout("filename.txt");
这会创建一个以该名称命名的文件,还是只查找具有该名称的文件?
问题是每当我重新启动程序并执行以下语句:
fout << score << endl << player;
它覆盖了我的先前分数!
当我写入文件时,有没有办法使新分数不覆盖旧分数?
ofstream fout("filename.txt", ios::app);
如果你想覆盖文本文件中的特定行而不是仅在末尾附加数据,那么最好先读取文件并解析数据,然后对其进行修复(添加、删除、编辑等),最后将所有内容重新写入文件中。
std::ios::app
。因为ios
是std
命名空间内的一个命名空间。 - Moha the almighty camel