[英]set a variable content one byte at a time
我一次讀取一個字節(字符)的消息,我想以此為基礎設置變量的值。 有沒有一種方法來串聯字節,然后使用強制轉換來設置值?
就像是:
mytype packet = (mytype) byteconcat;
如果我的字符串太嚴格,那么這將是一個問題。
或者,是否可以創建變量並在接收字節時設置字節?
您可以為此使用聯合。
假設您正在通過網絡發送整數,而在另一端逐字節捕獲它們。
您的聯合可能看起來像這樣:
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.