pcap调用记录

1、无法打开pcap/pcap.h文件

问题产生原因,软件移动了位置,路径配置又没有采用相对路径,

因此需要针对每一个项目做项目属性配置。

注意:路径表示,"/"和"\"windows都能识别,但是在某些情况向用"\"会报错

比如,#pragma comment(lib,"../WpdPack/Lib/Packet.lib"),如果用"\"编译

器会认为是专业字符。

在属性管理器中做全局添加,VC++目录->包含目录->添加c:\WpdPack\Include

VC++目录->包含目录->添加c:\WpdPack\Lib

如果全局做了以上配置还报错,那么就需要为每个工程做单独配置。


2、调用dll库函数出错

错误提示:读取位置0xcdcdcdd9时发生访问冲突

解决方法:将dll库函数直接移植到当前调试函数中,

定位发现错误产生于

if(allAdapters != NULL)

pcap_freealldevs(allAdapters );

pcap在查询网络适配器时会,会检查当前适配器存储记录,

如何有就先全部释放掉。调试发现allAdapters初始值并不一

定为空。因此,调用的时候需要对其进行初始化

allAdapters = NULL;


3、将查询到的网卡信息显示出来

Cstring InfoBuffer.Format(_T("%d.%s", ++AdapterID, pCamera->Adapter->description));

第一个参数需要加上_T( ),否则编译出错;

字符串显示出来是乱码,debug跟踪字符串参数正常。

乱码产生原因是由于字符在unicode与ASCII字符之间转换出了问题。
由于工程中采用编码差异,所以可能会导致转码错误。
如果出现乱码,那是因为工程中使用了Unicode编码。
可以尝试这样写
char *ch="hello";
CString msg;
msg.format(L"%s", LPCTSTR(ch));
也可以这样
char *ch="hello";
CString msg;
msg.format(_T("%s", CStringW(ch));


4、下拉框控件CComboBox

CComboBox m_ComboNICList;

数据关联DDX_Control(pDX, IDC_COMBO_NICLIST,m_ComboNICList);

列表信息添加m_ComboNICList.AddString(InfoBuffer);

选择项数值获取m_ComboNICList.GetCurSel();




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天上人间555

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值