[英]c++, reinterpret_cast structure* to unsigned char*
起初,我為我的英語感到抱歉:)所以,我有一個結構和變量
typedef struct
{
GHEADER m_Header;
BYTE *m_Buf;
Addr *m_Abonent;
}__attribute__((packed)) PACKET;
unsigned char* uc_ptr;
我需要向某些函數發送未簽名的char指針參數。 我試圖使用reinterpret_cast
將指向PACKET
類型的指針轉換為unsigned char*
。
PACKET* t_PACKET;
uc_ptr = reinterpret_cast<unsigned char*>(t_PACKET);
但是后來我嘗試了
std::cout << *uc_ptr << std::endl;
我什么也沒看到。 為什么? 以及如何正確投射呢?
當使用<<
輸出char
您將單個字符寫入輸出。 諸如\\0
類的許多字符不會顯示在控制台上。
試試這個代替我的意思:
std::cout << static_cast<unsigned int>(*uc_ptr) << std::endl;
您將需要一個循環來獲取結構中的所有字節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.