Hola, muy buenas
Intento actualizar un registro en un fichero binario
pero algo hago mal que al grabar el registro actualizado me lo añade al
final del archivo.
FILE* pf;
pf = fopen("./datos.dat","a+b");
int num=1
struct tRegistro reg;
fseek(pf, sizeof(reg)*(num-1),SEEK_SET);
fread(®,sizeof(struct tregistro),1,pf);
/* aqui mofico algo de reg */
fseek(pf, sizeof(reg)*(num-1),SEEK_SET);
fwrite(®, sizeof(struct tRegistro),1,pf);
Num=1 es para que lo haga al principio, pero podría ser cualquier otro
Lo curioso es que añade al final en lugar de la posicion que le indico
¿puede ser que esté mal el modo de apertura?
Gracias
Intento actualizar un registro en un fichero binario
pero algo hago mal que al grabar el registro actualizado me lo añade al
final del archivo.
FILE* pf;
pf = fopen("./datos.dat","a+b");
int num=1
struct tRegistro reg;
fseek(pf, sizeof(reg)*(num-1),SEEK_SET);
fread(®,sizeof(struct tregistro),1,pf);
/* aqui mofico algo de reg */
fseek(pf, sizeof(reg)*(num-1),SEEK_SET);
fwrite(®, sizeof(struct tRegistro),1,pf);
Num=1 es para que lo haga al principio, pero podría ser cualquier otro
Lo curioso es que añade al final en lugar de la posicion que le indico
¿puede ser que esté mal el modo de apertura?
Gracias