Linux下IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换
而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。
//获得点分十进制对应的整数
uint32_t netmask = 0;
uint32_t ip = 0;
inet_pton(AF_INET, (char *)address->mask, &netmask);//address->mask="255.255.255.0"
inet_pton(AF_INET, (char *)address->ip, &ip); //address->ip="192.168.1.x"
//IP地址/掩码: 192.168.1.0~~192.168.1.255
case ADDR_NETMASK_TYPE:
start_ip = ntohl(ip) & ntohl(netmask);
end_ip = ntohl(ip)
而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。
//获得点分十进制对应的整数
uint32_t netmask = 0;
uint32_t ip = 0;
inet_pton(AF_INET, (char *)address->mask, &netmask);//address->mask="255.255.255.0"
inet_pton(AF_INET, (char *)address->ip, &ip); //address->ip="192.168.1.x"
//IP地址/掩码: 192.168.1.0~~192.168.1.255
case ADDR_NETMASK_TYPE:
start_ip = ntohl(ip) & ntohl(netmask);
end_ip = ntohl(ip)