Cita:
y puedes leer:
Código:
fseek(pf, 0, 0);
fwrite(®, sizeof(struct Registro), 1, pf);
|
No es recomendable usar fwrite ni fread para leer o escribir datos binarios en archivos de disco, de hecho sólo se mantienen por compatibilidad (en algún sitio leí que quisieron eliminarlas de la norma "C99"). En lugar de eso hay que utilizar fgetc y fputc.
Las razones por lo que no es recomendable usar fwrite ni fread son principalmente dos (en realidad una sola). Por un lado no todos los compiladores alinéan igual los registros ni los datos en memoria, por ejemplo no lo hacen igual Turbo C (que es de 16 bit) y Builder C++ (que es de 32 bit). Por otro lado, si se cambia de microprocesador el orden de los octetos pueden variar, como es el caso de portar porgramas de Motorola (Mac) a Intel (PC).