Programación General => C/C++ => Mensaje iniciado por: va_ke_ro en Domingo 10 de Noviembre de 2002, 00:56
Título: Re: archivos binarios
Publicado por: va_ke_ro en Domingo 10 de Noviembre de 2002, 00:56
hey tengo un problema por que no puedo estructurar un programa con archivos binarios, espero me puedan ayudar:)
Título: archivos binarios
Publicado por: adocrates en Martes 12 de Noviembre de 2002, 01:48
La apertura se hace agregando la letra b al mode de apertura:
Código: Text
//de lectura
//fp=fopen("archivo.bin","rb");
//o de escritura
fp=fopen("archivo.bin","w+b");
Ejemplo de posicionamiento, lectura y rescritura :
Código: Text
long offset;
DATA *data;
...
size=sizeof(DATA);
data=malloc(size);
...
offset=ftell(fp);
fread(data,size,1,fp);
data->algo=1000;
fseek(fp,-(offset+size),1);
fwrite(data,size,1,fp);
rewind(fp);
En size dejamos el tamaño de la estructura. Pedimos memoria con malloc para la estructura DATA y su puntero data. En offset dejamos la posicion del archivo. Con fread leemos a data, size bytes, 1 vez. Modificamos algo en la estructura data. Con fseek volvemos atras size bytes+offset. Reescribimos data con fwrite. Rebobinamos el archivo con rewind.