我需要帮助在C / C ++中编写一个函数,它接收两个参数: IP地址和子网掩码。
该功能需要重新命名关联网络中所有IP地址的列表。
例如: 给出两个参数: IP地址 = 192.168.33.72和掩码 = 255.255.255.192 该函数将返回一个包含IP 192.168.33.65到192.168.33.126的列表。
答案 0 :(得分:3)
1)首先,您可以使用ipaddress
将subnetmask
和inet_pton()
从字符串格式转换为二进制格式。
2)检查subnetmask
掩码应该是有效的子网掩码
3)获得subnetmask
反向值(~subnetmask
)
4)
for (i=1; i<(~subnetmask); i++) {
ip = ipaddress & (subnetmask + i);
//append ip to your ip list
}