有两个结构,
struct CMPPMsgHead
{
UINT Total_Length;
UINT Command_Id;
UINT Sequence_Id;
};
struct CMPPConnect
{
CMPPMsgHead MsgHead;
TCHAR SourceAddr[6];
TCHAR AuthenticatorSource[16];
BYTE Version;
UINT TimeStamp;
};
现在我要引用这两个结构,把他们合在一起char *buf;
memset(buf,(char)(&MsgHead)+(char)(&Msg),iLen);为什么不对,给我一个正确的答案!谢谢!
struct CMPPMsgHead
{
UINT Total_Length;
UINT Command_Id;
UINT Sequence_Id;
};
struct CMPPConnect
{
CMPPMsgHead MsgHead;
TCHAR SourceAddr[6];
TCHAR AuthenticatorSource[16];
BYTE Version;
UINT TimeStamp;
};
现在我要引用这两个结构,把他们合在一起char *buf;
memset(buf,(char)(&MsgHead)+(char)(&Msg),iLen);为什么不对,给我一个正确的答案!谢谢!
解决方案 »
- 用C/C++能过去到路由器上DHCP客户列表吗?
- 【关于MFC发现文件改动提示保存功能】
- OpenGL波浪的渲染
- 如何复制目录下所有的文件夹和文件到另一个目录下?
- 有谁知道 WSAIoctl 的SIO_SET_QOS 如何控制 socket的流量的嘛?
- 大虾们,在vc中你是否出现了这样的调试问题
- vc7自带的PlatformSDK,我可以不可以将他保留下来,拷贝到别的系统中使用
- WM_PAINT里面有画图的条件判断,InvalidateRect如果调用WM_PAINT就不是局部刷新。如果不调用WM_PAINT那么它又是怎么根据判断条件(在哪?
- 得到一段木马隐藏的代码,但不起作用,请帮忙看一下谢谢!
- 有关VC数据库应用程序初始化安装时数据库的创建问题
- 新手请教关于写BMP文件的问题,很简单的!
- 怎么用程序实现net send功能
struct CMPPMsgHead MsgHead;
struct CMPPConnect Msg;memcpy(buf,&MsgHead,sizeof(MsgHead));
memcpy(buf+sizeof(MsgHead),&Msg,sizeof(Msg));
是不是这个意思?
{
UINT Total_Length;
UINT Command_Id;
UINT Sequence_Id;
};
struct CMPPConnect
{
CMPPMsgHead MsgHead;
TCHAR SourceAddr[6];
TCHAR AuthenticatorSource[16];
BYTE Version;
UINT TimeStamp;
};
struct Combine
{
struct CMPPMsgHead head;
struct CMPPConnect connect;
};//处理
还是有点问题!
内存出错!
我现在是把一个结构体定义在另一个结构体里面,但总觉得不灵活。要发送的结构体:
struct CMPPMsgHead
{
UINT Total_Length;
UINT Command_Id;
UINT Sequence_Id;
};
struct CMPPConnect
{
TCHAR SourceAddr[6];
TCHAR AuthenticatorSource[16];
BYTE Version;
UINT TimeStamp;
};
我的定义方法
struct CMPPMsgHead
{
UINT Total_Length;
UINT Command_Id;
UINT Sequence_Id;
};
struct CMPPConnect
{
CMPPMsgHead MsgHead;
TCHAR SourceAddr[6];
TCHAR AuthenticatorSource[16];
BYTE Version;
UINT TimeStamp;
};
然后把结构体CMPPConnect发送出去,但一直觉得不好,敬听指教!
万分感谢!!!
你说内存出错,我侧了一下,好像没问题,
#include "iostream.h"
#include "windows.h"
void main()
{
struct CMPPMsgHead
{
UINT Total_Length;
UINT Command_Id;
UINT Sequence_Id;
};
struct CMPPConnect
{
CMPPMsgHead MsgHead;
TCHAR SourceAddr[6];
TCHAR AuthenticatorSource[16];
BYTE Version;
UINT TimeStamp;
};char *buf=(char*)malloc(sizeof(struct CMPPMsgHead)+sizeof(struct CMPPConnect));
struct CMPPMsgHead MsgHead;
struct CMPPConnect Msg;memcpy(buf,&MsgHead,sizeof(MsgHead));
memcpy(buf+sizeof(MsgHead),&Msg,sizeof(Msg));}
把出错程序调一下,要不就把内存出错的代码段贴出来,帮你调调
或就按HongHuer(洪湖人在广州)的办法,在定一个结构也行