c++ - 无符号字符连接

标签 c++ char concatenation unsigned

我正在创建一个 C++ 程序,用于与串行端口上的夹具通信。

我必须发送一个“unsigned char [8]”类型的缓冲区,但这8个字节中,4个是从键盘输入的,2个是CRC,当时计算的。

那么,我怎样才能将几个片段连接到一个 8 字节 unsigned char 的缓冲区中呢?

例如:

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,dataCRC?

最佳答案

这个:

buffer[0] = DLEN[0];
buffer[1] = CMD[0];
buffer[2] = data[0];
buffer[3] = data[1];
buffer[4] = data[2];
buffer[5] = data[3];
buffer[6] = CRC[0];
buffer[7] = CRC[1];

关于c++ - 无符号字符连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9928052/

相关文章:

c++ - 为什么使用函数调用而不是变量地址来检测堆栈增长方向?

c++ - 如何修复 "type_info' s 具有隐藏的可见性。他们都应该有公众可见度。”?

c++ - 取消引用超出范围的 vector 迭代器 - 发生了什么,为什么?

python - 计算 numpy 数组中变化的位

MySQL:连接两个信息,返回一个虚拟列并依次与该列执行 INNER JOIN

c++ - 添加多个字符串值

c++ - 通过对象指针调用析构函数

c++ - 为什么可以在 C++ char* 中放入多个字符

c - 在方法中传递字符数组作为参数,C 语言

mysql - 将重复行与附加信息连接起来 (MySQL)