Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: javineti en 17 Noviembre 2013, 18:50 pm



Título: No me actualiza el registro
Publicado por: javineti en 17 Noviembre 2013, 18:50 pm
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