C – 用来显示所有接口的pcap_findalldevs卡在了一个无限循环中。

我在C语言中使用pcap库工作,我试图创建一个函数来打印所有的接口。

为此,我使用了pcap_findalldevs函数,但是当我试图在for循环中打印名称和描述时,打印会一直持续下去,并且只打印名称 “any “和描述 “Pseudo-device that captures on all interfaces”。

的代码。

char errbuff[PCAP_ERRBUF_SIZE];
pcap_if_t *interface_list;

if(pcap_findalldevs(&interface_list, errbuff) == PCAP_ERROR){
    fprintf(stderr, "Could not list all interfaces: %s", errbuff);
    return ERR;
}

pcap_if_t *interface;
for(interface = interface_list; interface != NULL; interface = interface_list->next){
    printf("Name: %s (%s)\n",
           interface->name, interface->description);
}

pcap_freealldevs(interface_list);

是我忽略了一个错误 还是完全错误?

解决方案:

在您的 “for “指令中,您使用了 “interface_list “而不是 “interface “变量来访问 “next “字段。

正确的用法应该是 “for(interface = interface_list;interface != NULL;interface = … 界面->next){“

给TA打赏
共{{data.count}}人
人已打赏
解决方案

在所有文件中找到JSON键,并删除相应的键值对。

2022-4-22 14:08:47

解决方案

如何从OpenCart 3.0.2.0卸载VQMOD?

2022-4-22 14:08:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索