Ver Mensaje Individual
  #1  
Antiguo 22-03-2012
NPIdea NPIdea is offline
Miembro
 
Registrado: feb 2005
Posts: 121
Reputación: 20
NPIdea Va por buen camino
Leer byte a byte un fichero binario

Hola a todos.

Estoy con la lectura de un fichero binario y resulta que según en que caracteres tenga en su interior me lee más o menos caracteres y eso que con un editor hexadecimal los datos están correctamente en su sitio. Pero debe ignorar algúnos caracteres como h20 h13 y no me los lee, con lo que el array que quiero cargar, me fastidia todos los indices.

La función que uso es:
Código Delphi [-]
    i=0;
//    AnsiString RD=ExtractFilePath(Application->ExeName)+"Tablas\\R230.PGZ";
    AnsiString RD=ExtractFilePath(Application->ExeName)+"Tablas\\Prueba.PGZ";
    FILE *pf=fopen(RD.c_str(),"r");
    if (pf!=NULL)
    {
      fseek(pf, 0, 0);
      fseek(pf, 0, 0);
      fread(&RegDoc, sizeof(RegDoc), 1, pf);
      fclose(pf);
    }

Si cojo el segundo funciona bien y en el 5750 sale el dato que quiero, si uso el primero sale en el 5748.

Se me ocurre leer byte a byte el fichero, pero ese es mi problema, no se como hacerlo para meterlo luego en un array.

El array es de 8749, la misma longitud del fichero binario.

Gracias.

PD: El problema es que me descarta los bytes que estan con h0D (CR decimal 13) y no me los mete en la cadena.

Última edición por NPIdea fecha: 22-03-2012 a las 12:32:33.
Responder Con Cita