Pregunta

Estoy trabajando en un proyecto utilizando un Arduino y, como tal, estoy leyendo desde un puerto serie (que envía ints). 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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top