Hola, Tito;
Tito escribió:
Probaste escribiendo campo por campo con fwrite? Creo que el
problema puede ser intentar escribir todo el registro junto.
Tal vez:
fwrite(&(reg1->nro), sizeof(int), 1, p);
fwrite(&(reg1->letra), sizeof(char), 1, p);
Cuidado que esto no tiene nada que ver con escribir una estructura.
Estás escribiendo sueltos enteros y chars y no son lo mismo.
Una estructura es un paquete, y como paquete tiene alineados sus
miembros, y está alineada ella misma; escribir un int más un char, en
una arquitectura de 32bits es escribir 5 bytes, mientras que escribir
una estructura de un int más un char en seguramente serán 8 bytes. Hacé
una prueba fijándote en los sizeofs de ambas cosas.
No es que no se pueda escribir miembro por miembro; pero son dos cosas
similares, y no intercambiables.
(Para ver una manera de escribir por miembros y compatible con la
estructura, consultá la macro offsetof()).
Saludos;
Sebastián Santisi
[EMAIL PROTECTED]
Saludos
Tito
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion