struct
{
short a;
short b;
short c;
short d;
long e;
short f;
}m_struct;
sizeof(m_struct)取结构体的长度为16,为什么,取有的结构体正常,
memcpy(buf,&m_buf,length)拷贝的内容和实际不一直,会在某字节前多出现两个字节的无效值,为什么?
{
short a;
short b;
short c;
short d;
long e;
short f;
}m_struct;
sizeof(m_struct)取结构体的长度为16,为什么,取有的结构体正常,
memcpy(buf,&m_buf,length)拷贝的内容和实际不一直,会在某字节前多出现两个字节的无效值,为什么?
解决方案 »
- MFC怎样制作老板键?
- VC++远程登录sql server 2005 问题
- 在对话框中能处理用户按键的消息吗?
- 网络中的MESSAGE_MAP问题!很怪异!!还是第一次遇到!其他程序应该也有吧!高手来看看
- 感谢winphoenix给我做的程序
- 字符转换成大小写问题.如何将一个字符串全部转换成大写字符串。来者有分。
- 发现ATL的好。。。(有分)
- 求问类似word编辑器的一个问题??
- 我要问一个书名,??? VC++6.0技术内幕。希望哪位知道的能够指点一二:)
- 在一个基于对话框的程序中,如何得到主对话框的句柄?
- 哦,明天不上班了,散分~~
- 在 vc7.0可以编译的一个头文件 在 vc6.0 编译不了,怎么改呢? 谢谢
第2个问题,应该是LZ看错了,注意&m_buf前面有一个&号。
但是sizeof出来后是16,我想要的结果是14,不知道为什么,有人说需要设置什么宏,我也没有找到,我就想要正确的值
#pragma pack(push, 1)struct
{
short a;
short b;
short c;
short d;
long e;
short f;
} m_struct;#pragma pack(pop)
...
...
#pragma pack(pop)
这样不行??