Al añadir ints a char * y luego despejando
-
12-09-2019 - |
Pregunta
Estoy trabajando en un proyecto utilizando un Arduino y, como tal, estoy leyendo desde un puerto serie (que envía int
s). Necesito a continuación, escribir esta comunicación en serie a una pantalla LCD, que toma un char*
.
Necesito leer varios personajes del puerto serie (dos enteros) en una cadena. Después ambos se han recibido, entonces necesito aclarar la cadena de prepararse para los próximos dos caracteres.
TLDR : ¿Cómo añado un int
a un char*
, a continuación, desactive la cadena después de tener dos caracteres?
Solución
A char es un único carácter, mientras que un char * puede ser un puntero a un carácter o un puntero a la primera carácter en una cadena C, que es una matriz de caracteres terminada por un carácter nulo.
No se puede utilizar un char para representar un número entero mayor que 1 dígito, así que voy a asumir que, en efecto, decir char *.
Si usted tiene
char buffer[10];
entonces se puede establecer buffer
a una cadena que representa un n
int con sprintf
sprintf(buffer, "%d", n);
Y cuando haya terminado con él, puede borrar la cadena con
sprintf(buffer, "");
La esperanza que es lo que pedías, y buena suerte!
Otros consejos
No se puede leer en un char *, que es un puntero. Se puede leer en la memoria apuntada por el puntero, siempre que apunta a algo válido. En cuanto a la limpieza, no es obvio lo que quiere decir con eso.
El fondo es que usted necesita para publicar algo de código real que intenta hacer lo que quiera, y preguntar acerca de eso.