Я пытаюсь перезаписать содержимое ФАЙЛА на C. В настоящее время у меня есть:
FILE* file = fopen("filename.txt", "r+");
fprintf(file, "%d", 1); // regardless of what's in the file, i want to clear it and put 1 in there
...
// legacy code somewhere else in the code base. can't change.
rewind(file);
fprintf(file, "%d", 2);
fflush(file);
Однако это не будет работать должным образом. Результатом будет:
1, 21
Каждое последующее число будет записано в начало 1. Например:
1, 21, 31, 41, ...
Я бы хотел чтобы знать, есть ли способ всегда перезаписывать то, что находится в файле, чтобы получилось следующее:
1, 2, 3, 4, ...
Любая помощь будет принята с благодарностью.
Спасибо.
РЕДАКТИРОВАТЬ:
Я изменил код на:
FILE* file = fopen("filename.txt", "w+");
Проблема все еще сохраняется.