Programación General > C/C++
Convertir Cadena de caracteres en un float
Eternal Idol:
No se que estas tratando de hacer exactamente, usar unsigned char para una cadena no tiene mucho sentido pero con el casting si compila:
--- Código: Text ---unsigned char cad[] = "17.56";double x = atof((const char*)cad);printf("%frn", x);
zairillo:
Te pongo un ejemplo más parecido a lo que tengo:
unsigned char cad[4];
cad[0]=23;
cad[1]=45;
cad[2]=128;
cad[3]=76;
float c;
char *p;
double a;
a=atof((const char*)cad);
printf("%frn",a);
Y si hago esto, el resultado es 0.00000. Esto lo necesito porque tengo un GPS conectado al pc, y éste me está mandando información, y si no pongo unsigned char, hay valores que están negativos.
Eternal Idol:
¿Es acaso una cadena eso? No me parece que lo sea eh ...
zairillo:
Si no es una cadena, ¿qué es?
Eso es lo que me devuelve el receptor de GPS, y es a lo que necesito hacerle la conversión para la que pido ayuda. SI elguien sabe hacer eso, que me eche una mano.
Saludos!
Eternal Idol:
Son un conjunto de bytes simplemente (por eso unsigned). Algo asi seria si fuera una cadena: ↨-ÇL, esta claro que no lo es, pero si no sabes vos que es ... dificil que sepamos los demas que no tenemos idea de que se trata tu problema.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa