• Viernes 15 de Noviembre de 2024, 03:28

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Warchief

Páginas: [1]
1
C/C++ / Re: Sizeof Me Miente?
« en: Lunes 23 de Agosto de 2004, 19:33 »
Gracias niko, esta solucionado.

Efectivamente como son 32bits(4b) tiene que coger 16bytes , no puede coger 14.

Estoy ANSIC y curro en Win y linux indistintamente.

Que ofuscado estaba XD

2
C/C++ / Sizeof Me Miente?
« en: Lunes 23 de Agosto de 2004, 19:19 »
Saludos,
no debo de estar en mi sano juicio, pero estoy convencido de que la salida del programa deberia ser "14 14", y sin embargo es "14 16". ¿Alguien me explica donde esta el truco, por favor? Llevo muchisimo tiempo para encontrar que lo que me falla es el sizeof, pero no se por que falla, ¿donde pierdo 2 bytes?

Código: Text
  1.  
  2. typedef short int WORD;
  3. typedef long  int DWORD;
  4.  
  5. // Cabecera archivo BMP
  6. typedef struct {
  7. WORD  bfType;  // Debe ser "BM"
  8. DWORD bfSize;  // Tam fichero en bytes
  9. WORD  bfReserved1; // Debe ser 0
  10. WORD  bfReserved2; // Debe ser 0
  11. DWORD bfOffBits;      // Offset inicio de datos (def 1078)
  12. } bmpFileHeader;
  13.  
  14. int main (void);
  15.  
  16. int main(void) {
  17. bmpFileHeader cabFile;
  18. printf("%d\n",  sizeof(cabFile.bfType)+
  19.     sizeof(cabFile.bfSize)+
  20.     sizeof(cabFile.bfReserved1)+
  21.     sizeof(cabFile.bfReserved2)+
  22.     sizeof(cabFile.bfOffBits));
  23. printf("%d\n", sizeof(bmpFileHeader));
  24. return 0;
  25. }
  26.  
  27.  

Gracias por las respuestas.

Páginas: [1]