我用pcap_next_ex(adhandle, &header, &pkt_data)捕捉网络的数据,捕捉到的数据应该是放在了pkt_data中
我用下边的循环,将数据拷贝到了char数组中。
char dd[512];
for (int i=0;i<header->caplen;i++)
{
sprintf(&dd[i],"%0x",pkt_data[i]);
dd[i] = pkt_data[i];
}但是:
当pkt_data[x] = 0xbd时,
dd[x] = 'b';
dd[x+1] = 'd';
为什么dd[x]不是0xbd。也就是说一句sprintf(&dd[i],"%0x",pkt_data[i]);它将pkt_data的一个数据元素放到了dd的两个数据元素位置中,而不是一一对应,这是为什么呢?谢谢!
我用下边的循环,将数据拷贝到了char数组中。
char dd[512];
for (int i=0;i<header->caplen;i++)
{
sprintf(&dd[i],"%0x",pkt_data[i]);
dd[i] = pkt_data[i];
}但是:
当pkt_data[x] = 0xbd时,
dd[x] = 'b';
dd[x+1] = 'd';
为什么dd[x]不是0xbd。也就是说一句sprintf(&dd[i],"%0x",pkt_data[i]);它将pkt_data的一个数据元素放到了dd的两个数据元素位置中,而不是一一对应,这是为什么呢?谢谢!
解决方案 »
- 100分求助:WINDOWS.H already included. MFC apps must not #include <windows.h>
- vc中,如何判断键盘没有按键按下?
- ODBC+ACCESS连接出现的问题
- vc 关于FindWindow
- 为什么用updateData(true)这个函数都会出错啊?会是什么原因呢?
- 想将菜单做得像vc中的样式 寻求帮助
- 菜单项的一个小问题
- 怎样设置对话框背景色为渐变色?
- 关于动态库中的资源的调用问题
- 急求去除红眼的主要算法
- 我的VC2005,调整对话框的时候动态的辅助线怎么没有了啊
- CTest的构造函数是CTest(BOOL bInit),但在CFrame1的头文件中定义一个全局变量CTest test(TRUE),编译出错。应该怎样定义CTest的全局变量?
{
sprintf(&dd[i],"%0x",pkt_data[i]); //这里改成%02x看看
dd[i] = pkt_data[i]; //这里为何要再赋值,覆盖前面的操作???
} for (int i=0;i <header->caplen;i++)
{
sprintf(&dd[i],"%02x",pkt_data[i]);
}
for (int i=0;i <header->caplen;i++)
{
sprintf(&dd[2*i],"%02x",pkt_data[i]); //一次写2字节
}