[C con Clase] leer bmp

inf200717 en ucf.edu.cu inf200717 en ucf.edu.cu
Vie Oct 30 22:20:22 CET 2009



tengo un problema para leer un archivo BMP de 24 bits lo que tengo es lo siguiente:
#include <fstream>

#include <stdio.h>

#include <stdlib.h>

#include <iostream>
using namespace std;

 
typedef struct cabecera{

 char ident[2];

 unsigned long int tam;

 char reservado[4];

 unsigned long int offset;

}cabecera;

 int main(void){
 
   cabecera* a =
new cabecera;
    ifstream file("1.bmp",
ios::in|ios::binary);
    file.read(
reinterpret_cast<char*>(a), sizeof(cabecera) );
}
esta rutina lo que me
hace es poner en la variable ident los dos primeros bites BM pero despues 
lo que
me pone es cascara en los otros atributos.

Sin embargo lo leo campo por campo
o sea 
int main(void){
  
    char ident[2]; 

   unsigned long int tam; 
   char reservado[4]; 

   unsigned long int offset;  
    ifstream
file("1.bmp", ios::in|ios::binary);
    file.read( ident, 2
);
   le.read( reinterpret_cast<char*>(&tam), 4 );
   le.read( reservado, 4);
   le.read(
reinterpret_cast<char*>(&offset),4 );
 }
esta rutina me llena los
campos con sus valores reales: 
Mi pregunta es existe algun problema cuando leo una
estructura o cuando leo datos primitivos
Saludos y gracias.
 
Lester
Arturo Oropesa Morales
Informatica(3ro)
UCF Carlos Rafael Rodriguez



--
Participe en Universidad 2010,
del 8 al 12 de febrero del 2010
La Habana, Cuba
http://www.universidad2010.cu
http://www.universidad2010.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20091030/e92553f6/attachment.html>


Más información sobre la lista de distribución Cconclase