[英]How to convert received bytes in Boost C++ to a unsigned int and to a vector of unsigned int
[英]convert vector of 4 bytes into int c++
您的代碼將指針值(隨機地址)轉換為 integer 而不是引用它指向的內容。 容易修復。
而不是這個:
uint32_t res = reinterpret_cast<uint32_t>(content.data());
這個:
uint32_t* ptr = reinterpret_cast<uint32_t*>(content.data());
uint32_t res = *ptr;
語言律師可能不同意上述規定。 而且因為在某些平台上復制未對齊邊界上的數據可能會出現問題。 因此,將內容中的 4 個字節復制到 32 位 integer 的地址中可能就足夠了:
memcpy(&res, content.data(), 4);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.