SoloCodigo

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
  1. //de lectura
  2. //fp=fopen("archivo.bin","rb");
  3. //o de escritura
  4. fp=fopen("archivo.bin","w+b");
  5.  
Ejemplo de posicionamiento, lectura y rescritura :
Código: Text
  1.  
  2. long offset;
  3. DATA *data;
  4. ...
  5. size=sizeof(DATA);
  6. data=malloc(size);
  7. ...
  8. offset=ftell(fp);
  9. fread(data,size,1,fp);
  10. data->algo=1000;
  11. fseek(fp,-(offset+size),1);
  12. fwrite(data,size,1,fp);
  13. rewind(fp);
  14.  
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.


Avisa como te fue.:D