Перезаписать на конкретную строку в c
У меня есть файл, содержащий около 2000 строк текста, который я генерирую в своей программе, каждая строка содержит информацию о сотруднике, и она выводится следующим образом.
1 1 Isaac Fonseca 58 c 1600 1310.40 6 1 0.22 2164.80 1
2 1 Manuel Gutierrez 22 d 1700 1523.37 4 1 0.13 897.26 1
3 1 Daniel Bernal 34 c 1600 1195.84 2 1 0.26 836.16 1
4 1 Miguel Gonzalez 43 e 1800 1195.84 0 1 0.15 0.00 1
Но каждый раз, когда я редактирую информацию о сотруднике, мне нужно обновлять файл, что я делаю, я ищу строку и пытаюсь переписать ее.
Я видел следующий вопрос о ком-то с такой же проблемой, но когда я пытаюсь записать в файл, он всегда записывает в конец файла
перезаписать конкретную строку в текстовом файле?
Вот мой код:
datos = fopen(archivo,"a+");
for(i=0;i<num;i++){
// buscar la linea
fgets(lineaA,100,datos);
// sobreescribir
if(i == (num-1))
cursor = ftell(datos);
}
cursor -= strlen(lineaA) - 1;
fseek(datos,cursor,SEEK_CUR);
fputs(linea2,datos);
fclose(datos);