Я пытаюсь сохранить счет в файле .txt, чтобы он выглядел так:
DAY: 2021-01-29 13:48:37 - MISTAKES 1
DAY: 2021-01-29 15:59:38 - MISTAKES 3
DAY: 2021-01-29 16:48:57 - MISTAKES 0
Но каждый раз, когда я запускаю программу, она перезаписывает первую строку. Так что у меня всегда есть только одна строка текста.
Это код, который я получил
int mistakes = 1;
time_t t = time(NULL);
struct tm tm = *localtime(&t);
FILE* file = fopen("score.txt", "r+");
if (file == NULL)
{
printf("Error with file");
exit(-1);
}
fprintf(file, "DAY: %d-%02d-%02d %02d:%02d:%02d - MISTAKES %d\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec, mistakes);
fclose(file);
Это часть, которую я тестирую, поэтому ошибки устанавливаются на 1 только для целей тестирования. Обычно каждый раз, когда моя игра заканчивается, я хочу записывать дату + ошибки в файл и каждый раз с новой строки. Я пытался использовать fseek, но на самом деле это не сработало, но, возможно, я просто использовал его неправильно.
Спасибо за любой совет
a
вариантfopen()
? fopen (3) - справочная страница Linux - person MikeCAT   schedule 29.01.2021