Добавление целых чисел к символу char * и последующая очистка
-
12-09-2019 - |
Вопрос
Я работаю над проектом с использованием 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, "");
Надеюсь, это то, о чем вы просили, и удачи!
Другие советы
Вы не можете читать в символе *, это указатель.Вы можете считывать данные в память, на которую указывает указатель, при условии, что он указывает на что-то действительное.Что касается очистки, то не совсем очевидно, что вы под этим подразумеваете.
Суть в том, что вам нужно опубликовать какой-то реальный код, который пытается сделать то, что вы хотите, и спросить об этом.