Conversion entre tipo de datos
Publicado por juanfra (1 intervención) el 10/12/2009 15:11:09
Hola a todos!!
Me estoy volviendo loco con un tema de conversion entre tipos de datos.
Resulta que tengo dos aplicaciones. Una envia datos por un socket y la otra los recibe.
La aplicacion que envía datos, envía en formato decimal abarcando tamaños desde bytes a dword, pero la función de leer del socket devuelve los datos leidos en formato char y cuando quiero tratar esos datos y de alguna forma reconvertirlos de nuevo a decimales. . . no soy capaz !!!
No entiendo que pasa.
He probado con multitud de funciones de de mil frmas diferentes, con strncpy, strcat, memcpy, sprintf. . . .
El problema es que un valor decimal de 90 en un INT del dispositivo de envío, se traduce a tres cifras. el primer byte = 90 y el segundo byte = 0. Si esto lo recuperamos con la funcion "read" de leer del socket, tenemos un string de 3 caracteres, que a efectos de memoria son 3 bytes.
No se si me explico pero me estoy volviendo loco!!! lo pero es que soy capaz de visualizar los valores y de ver donde está cada uno de los valores que me envían , pero no se convertirlos !!!!
Alguien me podría ayudar ??
Gracias !!
Me estoy volviendo loco con un tema de conversion entre tipos de datos.
Resulta que tengo dos aplicaciones. Una envia datos por un socket y la otra los recibe.
La aplicacion que envía datos, envía en formato decimal abarcando tamaños desde bytes a dword, pero la función de leer del socket devuelve los datos leidos en formato char y cuando quiero tratar esos datos y de alguna forma reconvertirlos de nuevo a decimales. . . no soy capaz !!!
No entiendo que pasa.
He probado con multitud de funciones de de mil frmas diferentes, con strncpy, strcat, memcpy, sprintf. . . .
El problema es que un valor decimal de 90 en un INT del dispositivo de envío, se traduce a tres cifras. el primer byte = 90 y el segundo byte = 0. Si esto lo recuperamos con la funcion "read" de leer del socket, tenemos un string de 3 caracteres, que a efectos de memoria son 3 bytes.
No se si me explico pero me estoy volviendo loco!!! lo pero es que soy capaz de visualizar los valores y de ver donde está cada uno de los valores que me envían , pero no se convertirlos !!!!
Alguien me podría ayudar ??
Gracias !!
Valora esta pregunta


0