我在我的程序中生成了一个大约 2000 行文本的文件,每一行都有一个员工的信息,它的输出是这样的
1 1 ISAAC FONECA 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);