我正在一次读取一个字节(字符)的消息,我想基于此设置变量的值。 有没有办法连接字节,然后使用强制转换来设置值?
类似的东西:
mytype packet = (mytype) byteconcat;
如果我是严格的字符串有一个额外的字节,那将是一个问题。
或者我可以创建变量并在收到它们时设置字节吗?
答案 0 :(得分:1)
你可以使用联盟。
让我们假设您通过网络发送整数,在另一侧逐字节捕获它们。
您的工会可能如下所示:
union Data {
unsigned char bytes[4];
int val;
}
和这样的代码:
bool read(Data& outBuff, int& offset, unsigned char receivedByte)
{
outBuff.bytes[offset++]= receivedByte;
bool readyToRead = offset >= 4;
if(readyToRead) {offset=0;}
return readyToRead;
}