返回给定IP地址和子网掩码的IP地址列表的函数

我需要帮助在C / C ++中编写一个函数,它接收两个参数: IP地址子网掩码

该function需要重新计算关联网络中所有IP地址的列表。

例如:给定两个参数: IP地址 = 192.168.33.72和掩码 = 255.255.255.192,该函数将返回包含IP的192.168.33.65到192.168.33.126的列表。

1)首先,您可以使用inet_pton()ipaddresssubnetmask从字符串格式转换为二进制格式。

2)检查subnetmask掩码应该是有效的子网掩码

3)获取subnetmask反向值( ~subnetmask

4)

 for (i=1; i<(~subnetmask); i++) { ip = ipaddress & (subnetmask + i); //append ip to your ip list }