各位大侠好:
我定义了一个类 EtherHead,里面有一个函数
CString EtherHead::GetMacDestAddr()
{
CString str; str.Format("%02X-%02X-%02X-%02X-%02X-%02X",destaddr[0],destaddr[1],destaddr[2],destaddr[3],destaddr[4],destaddr[5]);
return str;
}
然后定义了一个结构体
struct NewPackOrder
{
int arpNum;
int parpNum;
int tcpNum;
int udpNum;
int icmpNum;
int totalNum;
CString IP;
} SinglePacket ;定义了一个类的对象EtherHead *ether;
想用ether->GetMacDestAddr() 对SinglePacket.IP进行赋值,但是用了很多方法都不成功,哪位能提供一个有效的方法啊?
非常感谢
我定义了一个类 EtherHead,里面有一个函数
CString EtherHead::GetMacDestAddr()
{
CString str; str.Format("%02X-%02X-%02X-%02X-%02X-%02X",destaddr[0],destaddr[1],destaddr[2],destaddr[3],destaddr[4],destaddr[5]);
return str;
}
然后定义了一个结构体
struct NewPackOrder
{
int arpNum;
int parpNum;
int tcpNum;
int udpNum;
int icmpNum;
int totalNum;
CString IP;
} SinglePacket ;定义了一个类的对象EtherHead *ether;
想用ether->GetMacDestAddr() 对SinglePacket.IP进行赋值,但是用了很多方法都不成功,哪位能提供一个有效的方法啊?
非常感谢
解决方案 »
- 更改视图
- VC6 CHtmlView 如何获得 javascript 函数和源代码?
- VC 操作INI文件和复制文件!
- 怎么养得到SD卡下的所有文件名??
- 重金请高手开发p2p流媒体点播系统
- CSDN首页这次改得太TMD难看,鸟字体在我的98+15"显示器上看起来累死人!
- 动态修改CEdit属性的问题
- 在VC中如何改变对话框上ListBox控件的背景色、字体和字体颜色?
- 高分请教系统级难题 ? 快、快、快 ........
- 谁知道MIB
- 请问vc里面有没有一个测试数据发送接收速度的函数??
- 各位的高手大哥们,小弟不才,毕业设计要做一个能屏幕广播的软件,辛苦了几个月,没有什么结果,实在无奈,希望大哥们指点,有源码和文档的望能发我一份
这里是没问题的,问题就出在SinglePacket.IP=ether->GetMacDestAddr() ;
调试出现这样的结果 赋值不成功 IP CXX0030: Error: expression cannot be evaluated
是不是与CString EtherHead::GetMacDestAddr()
{
CString str; str.Format("%02X-%02X-%02X-%02X-%02X-%02X",destaddr[0],destaddr[1],destaddr[2],destaddr[3],destaddr[4],destaddr[5]);
return str;
} 这个函数的返回值有什么关系呢? 我也用过strcpy函数,
struct NewPackOrder
{
int arpNum;
int parpNum;
int tcpNum;
int udpNum;
int icmpNum;
int totalNum;
CString * IP;
} SinglePacket;
strcpy(SinglePacket.IP,ether->GetMacDestAddr());仍然没有赋上值。
中间出了什么问题呢?总结一下,是对结构体中的 IP赋值出现问题
去看SinglePacket.IP 有值就说明 实例 struct 是对的
那么问题就是 str.format 的问题
确定 destaddr.GetCount() 的值是否在定义范围内。
用 VC 内的watch 去看variable 的值
是变量的话,ether指针最好先初始化,ether=this;再使用。
2、destaddr数组是否初始化
试试也就是动动手写几句代码的事 为什么不试试呢SinglePacket.IP = ether->GetMacDestAddr();
两个CString对象赋值操作低层封装的很好 能出问题的几率几乎为零 用你给出的代码测试了下 没有问题