[C con Clase] Leer entero desde tabla

Programante programante en gmail.com
Vie Nov 2 23:11:51 CET 2007


luis escribió:
> Tengo una tabla en DBaseIII que tiene un campo numerico de tamaño 4.
>
> En el codigo C tengo una estructura asi:
>
> struct tabla{
> 	int idcliente;
> };
>
> Por sencillo que pueda parecer no consigo leer mediante la funcion fread()
> este campo como entero.
>
> Si en la estructura utilizo tipo char no hay problema para leer desde
> DBaseIII, pero si son de tipo numerico no consigo leerlo.
>
> Gracias y salu2
>   

No conozco el formato interno de dbaseII, pero por la captura que 
adjuntas, parece que no los guarde como número, sino como texto.
Por lo tanto tendrías que leerlo como texto y convertirlo a número:

struct tabla{
	char idcliente[5];
} registro;

...

int idcliente = atoi(registro.idcliente);


http://engr.smu.edu/~fmoore/hmwk/dbaseIII.html y 
http://www.clicketyclick.dk/databases/xbase/format/index.html parecen 
buenas fuentes para averiguar más sobre el formato.




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