我正在使用微软的C++编程语言。我正在使用结构体,例如:
struct header {
unsigned port : 16;
unsigned destport : 16;
unsigned not_used : 7;
unsigned packet_length : 9;
};
struct header HR;
我希望将头部的值放入一个单独的字符数组中。
我尝试使用 memcpy(&REQUEST[0], &HR, sizeof(HR));
但是,packet_length的值没有正确显示。
例如,如果我将 HR.packet_length 的值分配为 31; 我得到的是 -128(第五个字节)和15(第六个字节)。
如果您能帮助我解决这个问题或者有更优雅的方法,请告诉我。
谢谢