Добавление целых к char * и очистка - PullRequest
1 голос
/ 06 июня 2009

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

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

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

Ответы [ 2 ]

2 голосов
/ 06 июня 2009

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

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

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

char buffer[10];

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

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

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

sprintf(buffer, "");

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

0 голосов
/ 06 июня 2009

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

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

...