Как собрать строку из массива данных?

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Аватара пользователя
poligon
Нашел транзистор. Понюхал.
Сообщения: 160
Зарегистрирован: Вс июн 21, 2009 15:44:57

Как собрать строку из массива данных?

Сообщение poligon »

По UART принимаются данные и складываются в буфер:

Код: Выделить всё

unsigned char buffer[200];      // приемный буфер
Сами данные представляют из себя текст в hex кодах. Задача: выделить из данных строки и вывести на экран.

Код: Выделить всё

char tip[32];
char convert[32];

for (i=31;i<47;i++) {                          // выбрали нужные нам данные
  sprintf(convert,"%c",buffer[i]);             // каждый символ переводим из hex в ansi
  tip = strcat(tip, convert);                  // и собираем строчку путем приклеивания на каждом шаге по букве 
}
put_string(50,45,tip,color,1); 
tip= "";
Но компилятор ругается что так нельзя склеивать. А как по другому не понимаю. Подскажите пожалуйста. CodeVisionAVR.
Реклама
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Как собрать строку из массива данных?

Сообщение ibiza11 »

что за "текст в hex кодах"?
если через UART идут коды ASCII, то зачем их переводить из hex ? так прям и выводите. полностью объясните задачу.
Ставим плюсы: )
Реклама
phenomen
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Пт дек 17, 2010 14:41:25

Re: Как собрать строку из массива данных?

Сообщение phenomen »

Да зачем же сразу полностью. Проблема описана.

Код: Выделить всё

for (i=31, j=0;i<47;i++, j++)//выбрали нужные нам данные
    tip[j] = buffer[i]; //собираем строчку путем копирования
tip[++j] = 0;//добавляем конец строки
//готово
poligon, вам сюда (Вопросы по С/С++ (СИ)).
Ответить

Вернуться в «Разные вопросы по МК»