首页 - 最近大事件 - bmi计算器,黑执事第三季,vt-头条斑鱼,渔业咨询,捕捞技巧

bmi计算器,黑执事第三季,vt-头条斑鱼,渔业咨询,捕捞技巧

发布时间:2019-05-21  分类:最近大事件  作者:admin  浏览:144

问题

在Windows体系中,能够支撑多个网卡,比方有线的以太网卡,无线网卡,虚拟网卡等。如下图所示:


每一张网卡由不同的类型,也能够分别被用户启用或禁用。

关于独自一张给定的网卡,其IP地址能够是DHCP主动分配,也能够手动设定。

从而,在手动设定形式下,还能够增加多个IP地址。如下图所示:


如同,状况越来越杂乱!

那么,怎么经过代码的方法来获取一切的这些IP地址呢?

废话少说,直接上代码吧!


代码解析

以上代码结构简略,首要调用GetAdaptersAddresses获取体系一切网卡,然后循环每个网卡。关于每个网卡,经过FirstUnicastAddress成员获取该网卡的开始IP,然后循环获取该网卡的一切IP。

留意,这儿经过判别结构体的OperStatus特点,完成了仅获取已启用网卡的IP地址列表并过滤掉了本地回环地址的功用。

留意事项

本文代码仅作为演示意图,并没有装备合理的错误处理功用,在实在的项目中,应该考虑加上。

总结

在C++中获取本机IP地址是一个非常常见的需求,但假如需求这个功用,而手边却没有相关的代码,确实是一件比较伤脑筋的工作。

本文经过界说一个通用的函数展现了怎么获取本机一切的IP地址。可是需求阐明的是,这个函数并没有经过一个适宜的返回值来输出IP地址,能够考虑运用vector列表并合作自界说结构体来对外部输出成果,这样就更具有可重用性了。

Enjoy!


下一篇
快捷导航
最新发布
标签列表