Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2009, 15:06
kronos_
Invitado
 
Mensajes: n/a
Puntos:
Problema con valores de variables

Hola a todos,

Tengo un programa cuya mision es leer datos de un archivo que emula un sistema de archivos ext2. Para ello me pasan dos archivos ext2.c y ext2.h, donde en el ultimo hay definido un struct como el siguiente:

struct ext2_sb {
uint32_t s_inodes_count;
uint32_t s_blocks_count;
...
uint32_t s_blocks_per_group;
...
};

Leo del archivo con read (fd, &a, sizeof(a));

Esto no da ninguna problema ya que los valores de la variables del struct son coherentes (me los muestra por pantalla). En mi caso:

blocks_count=10240
blocks_per_group=8192


El problema esta cuando calculo f=a.s_blocks_count/a.s_blocks_per_group.

Esto deberia dar un valor superior a 1 e inferior a 2, pero me da 1 exactamente.

He probado mostrando por pantalla los valores de las variables:

printf("Variable 1: %d",a.s_blocks_count);
printf("Variable 2: %d",aa.s_blocks_per_group);


Y resulta que me dice que valen 1 las dos!

¿Alguien sabe porque me pasa esto tan raro?


Muchas gracias por la ayuda