我需要幫助,在接收兩個參數的C/C++寫一個函數:IP地址和子網掩碼。函數返回的IP地址列表對於給定的IP地址和子網掩碼
該功能需要重新建立關聯網絡中所有IP地址的列表。
例如: 給定兩個參數:IP地址 = 192.168.33.72和面具 = 255.255.255.192 該函數將返回包含列表中的IP的192.168.33.65到192.168.33.126。
我需要幫助,在接收兩個參數的C/C++寫一個函數:IP地址和子網掩碼。函數返回的IP地址列表對於給定的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()
的二進制格式。
2)使上subnetmask
檢查掩蓋它應該是一個有效的子網掩碼
3)獲得subnetmask
逆值(~subnetmask
)
4)
for (i=1; i<(~subnetmask); i++) {
ip = ipaddress & (subnetmask + i);
//append ip to your ip list
}
著名的評論:什麼你有沒有嘗試過? – MOHAMED