void* buf = malloc(length);
*(WORD *)buffer = a;//a为WORD类型量,,接下来我要在buf位移为16处写下一个量
*(short *)(buffer + 16) = b;//这里出错
请问要在buf里依次写数据要如何处理,尤其是位移量要怎么处理
*(WORD *)buffer = a;//a为WORD类型量,,接下来我要在buf位移为16处写下一个量
*(short *)(buffer + 16) = b;//这里出错
请问要在buf里依次写数据要如何处理,尤其是位移量要怎么处理
解决方案 »
- BeginUpdateResource,UpdateResource,EndUpdateResource用法求解
- EscapeCommFunction问题,向串口发送指令,设置高低电平,串口监控捕捉到函数发送的改变高电平的指令,可相应针脚电压并没有改变?信号灯不亮
- vc中如何改变窗口颜色??咋这编程工具这么不直观》
- 两个问题,关于程序的内存占用?
- 在C++中怎么声明一个动态数组???
- 如何让程序不再出现这样的错误???
- 调用View的成员函数
- 一个及其笨的问题
- 关于编译器的初级问题
- 帮忙解决 m_vtbl = CXX0030: 错误: 无法计算表达式的值
- COM组件如何在IE浏览器中弹出窗口
- <windows程序设计>中InvalidateRect函数的疑问??
buffer 是一个指针,简单的说,是一个有类型的内存地址,
如果是: char * buffer, buffer + 1 就加一个字节(也就是你说的8bit)
short * buffer , buffer + 1 就加两个字节(16bit)
同理 long * buffer , buffer + 1 就加四个字节(32bit)