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

Responder a