Programación General > C/C++

 Convertir Cadena de caracteres en un float

<< < (2/6) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa