プログラムで生成する約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 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);