簡體   English   中英

一次將一個變量內容設置為一個字節

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM