Я сохраняю структуру в файл .dat. Предположим, мне нужно отредактировать одну конкретную структуру, как мне поступить? Я сделал следующее:
ptFile = fopen("funcionarios.dat", "ab+");
fseek(ptFile, index*sizeof(strFunc), SEEK_SET); //places the pointer at the struct I want
fwrite(&newStruct, sizeof(strFunc), 1, ptFile); //adds the new struct
Итак, как видите, я хочу обновить свой файл с помощью newStruct.
Функции fwrite возвращают 1, но не заменяют строку, которую я хочу (ни соседние строки, если я использовал пропущенный индекс), и не добавляют новую структуру в файл. Это просто ничего не делать!
Любые идеи?
Я сделал это, прочитав все структуры, заменив index-struct моей новой структурой и записав файл со всеми структурами, но я ищу лучший способ сделать это.
Заранее спасибо.