написание текста на следующей строке каждый раз, когда она открывается в C

Я пытаюсь сохранить счет в файле .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, но на самом деле это не сработало, но, возможно, я просто использовал его неправильно.

Спасибо за любой совет


person ThePejnMan    schedule 29.01.2021    source источник
comment
Почему бы не использовать a вариант fopen()? fopen (3) - справочная страница Linux   -  person MikeCAT    schedule 29.01.2021
comment
@MikeCAT о боже, я не могу поверить, что пробовал столько всего, но на самом деле это был просто вариант для открытия. Спасибо!   -  person ThePejnMan    schedule 29.01.2021