假如我这边的数据包字符串是这样的: < 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 > (1241) (数字表示字节数)并由char* re_buf 指向。那么我构建这样一个结构体:
typedef struct {
char head_1; //1个字节
int head_2; //2个字节
long head_3; //4个字节
char head_4; //1个字节
}STRU_HEAD;
那么我在用的时候:
STRU_HEAD *ptr;
ptr = (STRU_HEAD *) re_buf ;
这样的话 :
ptr ->head_1 是不是就是指的 0x01
ptr -> head_2 是不是就是 0x02 0x03
ptr -> head_3 是不是就是 0x04 0x05 0x06 0x07
ptr -> head_4 是不是就是 0x08
好像是有对齐的说法,如果需要对齐的话,我这个结构体有该怎么定义,才能类似于上面的一样取到响应位置上的值?struct
typedef struct {
char head_1; //1个字节
int head_2; //2个字节
long head_3; //4个字节
char head_4; //1个字节
}STRU_HEAD;
那么我在用的时候:
STRU_HEAD *ptr;
ptr = (STRU_HEAD *) re_buf ;
这样的话 :
ptr ->head_1 是不是就是指的 0x01
ptr -> head_2 是不是就是 0x02 0x03
ptr -> head_3 是不是就是 0x04 0x05 0x06 0x07
ptr -> head_4 是不是就是 0x08
好像是有对齐的说法,如果需要对齐的话,我这个结构体有该怎么定义,才能类似于上面的一样取到响应位置上的值?struct
解决方案 »
- 实现滑动翻页的效果,路过欢迎来看看。。。共同学习!
- 安装vc++6.0时出现的关于虚拟内存的问题
- fatal error LNK1136: invalid or corrupt file
- CGridCtrl使用的问题
- 询问一个有关ADO的问题
- 救我!为什么一调用ADO的Connection对象的BeginTrans方法就异常啊
- 如何使用gethostbyaddr(),再线等待
- 红外图像实时存储程序VC++
- 如何使窗口在任务栏上显示不出来
- 求助大牛,如何能知道HTTP 请求是从哪个AP上发出的
- MFC对话框程序中Edit输入框如何实现输入内容(拼音或汉字),下面弹出从数据库中匹配出的相关选项,类似百度输入框那种效果
- linux下异步socket接收数据的时候errno=5和107,紧急求助坐等结贴
中间是你的内容
#pragma pack()
ptr ->head_2 四个字节 0x05 0x06 0x07 0x08