Добавление целых чисел к символу char * и последующая очистка

StackOverflow https://stackoverflow.com/questions/959183

Вопрос

Я работаю над проектом с использованием Arduino, и поэтому я считываю данные с последовательного порта (который отправляет intы).Затем мне нужно записать это последовательное сообщение на ЖК-дисплей, для чего требуется char*.

Мне нужно прочитать несколько символов из последовательного порта (два целых числа) в строку.После того, как оба символа были получены, мне нужно очистить строку, чтобы подготовиться к следующим двум символам.

TLDR:Как мне добавить int к a char*, а затем очистить строку после того, как в ней будет два символа?

Это было полезно?

Решение

Символ char - это одиночный символ, тогда как символ char* может быть указателем на символ или указателем на первый символ в строке C, которая представляет собой массив символов, заканчивающийся нулевым символом.

Вы не можете использовать символ char для представления целого числа длиннее 1 цифры, поэтому я собираюсь предположить, что вы на самом деле имели в виду символ char *.

Если у вас есть

char buffer[10];

затем вы можете установить buffer к строке, представляющей значение int n с помощью sprintf

sprintf(buffer, "%d", n);

И когда вы закончите с этим, вы можете очистить строку с помощью

sprintf(buffer, "");

Надеюсь, это то, о чем вы просили, и удачи!

Другие советы

Вы не можете читать в символе *, это указатель.Вы можете считывать данные в память, на которую указывает указатель, при условии, что он указывает на что-то действительное.Что касается очистки, то не совсем очевидно, что вы под этим подразумеваете.

Суть в том, что вам нужно опубликовать какой-то реальный код, который пытается сделать то, что вы хотите, и спросить об этом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top