Я пытаюсь перезаписать содержимое файла, используя fwrite(), fseek() в C, но это не работает.
Размер файла 30. Я хочу написать "ABCD", перезаписав позицию 10 ~ 13 в файле. Поэтому я программирую ниже.
FILE *fp = fopen("file.txt", "a+");
fseek(fp, 10, SEEK_SET);
fwrite("ABCD", 1, 4, fp);
Но "ABCD" пишется после 30 позиции в файле. Я нашел несколько советов использовать двоичный режим (например, "ab+"), но 'b' игнорируется во всех системах, соответствующих стандарту POSIX.
Как я могу это сделать?