Hice esta pregunta sobre el intercambio de pila de ingeniería eléctrica y fue dirigida aquí:
Bastante autoexplicativo; ¿Cómo haría para convertir un flotador en un char *? Tengo un código en el que la 'resistencia' flotante se actualiza constantemente. Me gustaría poder actualizar la variable 'resultado' para tomar el valor de 'resistencia'. Aquí está parte del código, en caso de que ayude:
const char * result = "";
float resistance = 2.5;
result = resistance; //This bit (obviously) doesn't work
¡Gracias por tu ayuda!
fuente
Básicamente, está intentando convertir una variable de 4 bytes (flotante) en una cadena de 4 bytes (las variables char tienen un tamaño de 1 byte). Más información sobre los tipos de datos Arduino aquí http://playground.arduino.cc/Code/DatatypePractices
Puede probar las respuestas a estas preguntas /programming/18270974/how-to-convert-a-float-to-a-4-byte-char-in-c
/programming/24420246/c-function-to-convert-float-to-byte-array
Admito que estoy confundido por el uso de
const char * result = "";
en su ejemplo.La palabra clave "const" hace que la variable sea "solo lectura" y, por lo tanto, no puede modificarla. https://www.arduino.cc/en/Reference/Const
Editar: Desafortunadamente, no tengo un dispositivo Arduino en este momento para probarme las soluciones anteriores
fuente
const
palabra clave no hace que la variable sea de solo lectura. La variable aquí es un puntero, y no necesita ser constante. Laconst
palabra clave califica los datos que se apuntan , no el puntero en sí. En otras palabras, no está permitido modificar la cadena a través de ese puntero. Si desea un puntero constante, declare comochar * const result
(oconst char * const result
si desea unconst
puntero a losconst
datos).