Как очистить предыдущие значения при использовании strcat() для добавления строк?

Есть ли какая-либо другая функция для добавления строк в буфер и обновления значений?

Вот с такой проблемой я сталкиваюсь при использовании strcat()

char temp[2] = "A";
char temp_end[2] = "a";
char buf_adc[20]="alok";
char buf_hum[20]="lok";
char buf_temp[20]="vjf";
char buf[100];
void setup() {
Serial.begin(115200);

}

void loop() {
  strcat(buf,buf_adc);
strcat(buf,temp);
strcat(buf,buf_hum);
strcat(buf,temp);
strcat(buf,buf_temp);
strcat(buf,temp_end);

Serial.println(buf);

}

, 👍0


1 ответ


Лучший ответ:

1

strcat всегда присоединяется к концу строки. Вместо этого для вашего первого strcat вам следует использовать strcpy, который копирует одну строку поверх другой, то есть помещает ее в начало строки, фактически начиная новую строку.

Однако, если вам действительно не нужны данные в строке по какой-то конкретной причине, вам не нужно создавать строку — просто выведите каждую часть в последовательный порт отдельно с помощью ее собственной функции Serial.print.

,