Я создаю программу на C++ для связи с захватом на последовательном порту.unsigned char concatenation
Мне нужно отправить буфер типа «unsigned char [8]», но из этих 8 байтов, 4 введены с клавиатуры, а 2 - это CRC, рассчитанный в то время.
Итак, как я могу объединить несколько частей в одном буфере из 8-значного символа без знака?
Например:
unsigned char buffer[8];
----
unsigned char DLEN[1]={0x05};
----
unsigned char CMD[1]={0x01};
----
unsigned char data[4]={0x00,0x01,0x20,0x41};
----
unsigned char CRC[2]={0xFF,0x41};
----
как я могу получить этот буфер: {0x05,0x01,0x00,0x01,0x20,0x41,0xFF,0x41}
, что является объединением DLEN
, CMD
, data
и CRC
?
Или 'буфер [0] = DLEN [0]; buffer [1] = CMD [0]; std :: copy (начало (данные), конец (данные), буфер + размер DLEN + размер CMD); std :: copy (begin (CRC), end (CRC), buffer + sizeof DLEN + sizeof CMD + sizeof data); '(разбивается на отдельные строки, конечно) – bames53