Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在用 C/C++ 编写一个接收两个参数的函数时需要帮助:IP 地址和子网掩码。
该函数需要返回关联网络中所有 IP 地址的列表。
例如:给定两个参数:IP 地址= 192.168.33.72 和 掩码= 255.255.255.192,该函数将返回一个列表,其中包含 IP 的 192.168.33.65 到 192.168.33.126。
1)首先,您可以使用 将ipaddress字符串subnetmask格式转换为二进制格式inet_pton()。
ipaddress
subnetmask
inet_pton()
2)检查subnetmask掩码它应该是一个有效的子网掩码
3) 取subnetmask反值 ( ~subnetmask)
~subnetmask
4)
for (i=1; i<(~subnetmask); i++) { ip = ipaddress & (subnetmask + i); //append ip to your ip list }