
09/03/2004, 12:00
|
| | Fecha de Ingreso: septiembre-2003
Mensajes: 172
Antigüedad: 21 años, 5 meses Puntos: 0 | |
Hola,
fwrite y fread escriben y leen bloques de memoria de un archivo. La sintaxi es la misma para las dos:
fread(apuntador a variable, tamaño de la variable, cantidad de valores, apuntador a fichero)
Apuntador a variable se refiere a un apuntador a la variable que va a guardar, o de la que se va a extraer, los datos.
Tamaño de la variable se usa normalmente con sizeof (tipo), por ejemplo si lees una serie de enteros seria sizeof(int).
Cantidad de valores, pongamos que quieres guardar 4 enteros, este campo seria un 4.
Apuntador a fichero es el apuntador que tengas abierto al fichero.
Ej:
para leer 1 entero:
int var;
FILE * archivo;
if (archivo=fopen("ruta","r"))
{fread(&var,sizeof(int),1,archivo);}
Si quisieramos leer 20 enteros
int vect[20];
FILE * archivo;
if (archivo=fopen("ruta","r"))
{fread(vect,sizeof(int),20,archivo);}
Así es como lo pone en la ayuda del Visual C++, yo lo que hacia es forzar siempre la cantidad de datos a 1 y variar el tamaño segun la cantidad de datos que quisiera, pe fread(vect,sizeof(int)*20,1,archivo), pero supongo que la manera correcta es la que te he explicado antes.
Espero que haberte podido ayudar. Saludos!
__________________ Sr.Propio |