No me actualiza el registro

Iniciado por javineti, 17 Noviembre 2013, 18:50 PM

0 Miembros y 1 Visitante están viendo este tema.

javineti

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(&reg,sizeof(struct tregistro),1,pf);

/* aqui mofico algo de reg */

fseek(pf, sizeof(reg)*(num-1),SEEK_SET);
fwrite(&reg, 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