Преобразовать IP-адрес в одно числоC++

Программы на C++. Форум разработчиков
Anonymous
Преобразовать IP-адрес в одно число

Сообщение Anonymous »

У меня есть файл, который содержит более 100 IP-адресов (десятичные с точками, например 169.23.43.12). Теперь мне нужно прочитать все IP-адреса и отсортировать их по возрастанию. Для этого, прежде всего, я попытался преобразовать все IP-адреса в их эквивалентное целое число. Я создал функцию C++ для преобразования IP-адресов, но она не работала для больших IP-адресов, таких как 255.250.120.100. Я пытался использовать inet_aton() и inet_ntoa(). Но используя эти два, я не смог отсортировать IP-адреса. Итак, подскажите мне, как преобразовать IP-адреса в форму, которую можно было бы сортировать. Ниже приведены несколько кодов, с помощью которых я пытался отсортировать IP-адрес, но не получилось.

struct sockaddr_in antelope[2];
char *some_addr;

inet_aton("60.0.0.4", &antelope[0].sin_addr); // store IP in antelope
inet_aton("10.0.0.2", &antelope[1].sin_addr); // store IP in antelope
std::sort(antelope,antelope+2);
cout

Подробнее здесь: https://stackoverflow.com/questions/411 ... gle-number

Вернуться в «C++»