Ответ 1
std::ofstream
по умолчанию создает новый файл. Вы должны создать файл с добавить параметр.
ofstream fout("filename.txt", ios::app);
Я пытаюсь сделать игру, которая реализует высокие оценки в .txt файле. У меня есть вопрос: когда я делаю выражение, например:
ofstream fout("filename.txt");
Создает ли это файл с этим именем или просто ищет файл с таким именем?
Дело в том, что всякий раз, когда я запускаю программу заново и делаю следующее утверждение:
fout << score << endl << player;
он перезаписывает мои предыдущие оценки!
Есть ли способ сделать так, чтобы новые оценки не перезаписывали старые, когда я пишу в файл?
std::ofstream
по умолчанию создает новый файл. Вы должны создать файл с добавить параметр.
ofstream fout("filename.txt", ios::app);
Если вы просто хотите добавить в конец файла, вы можете открыть файл в режиме добавления, так что любая запись выполняется в конце файла и не перезаписывает содержимое ранее сохраненного файла:
ofstream fout("filename.txt", ios::app);
Если вы хотите переписать определенную строку текста данными вместо того, чтобы просто вставлять их в конец с помощью режима добавления, вам, вероятно, лучше не читать файл и анализировать данные, а затем фиксировать его (добавив что-либо, удаляя независимо от того, редактируя что угодно) и все это записывается обратно в файл заново.