Ver Mensaje Individual
  #5  
Antiguo 14-08-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
y puedes leer:
Código:
fseek(pf, 0, 0);
fwrite(&reg, 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).
Responder Con Cita