URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 6163
[ Назад ]

Исходное сообщение
"[Си][linux] Как преобразовать ip адресс?"

Отправлено Sergei , 03-Апр-01 02:18 
Как преобразовать ip адресс вида C0A80001/FFFFFFFF в вид 192.168.0.1/255.255.255.255 ?

И как  получить доменное имя машины по ее ip адрессу?


Содержание

Сообщения в этом обсуждении
"RE: [Си][linux] Как преобразовать ip адресс?"
Отправлено mike , 03-Апр-01 15:17 
1. что-то из /proc/net что-ли разбираеш ;-)
char *c - Указатель на строку C0A80001/FFFFFFFF
char *b;
b=c;
unsigned long ip,mask;
ip=strtoul(b,&b,16);
if(*b!='/')
{return;/*ошибка: нет косой черты после ip*/}
b++;
mask=strtoul(b,&b,16);
printf("%s",inet_ntoa(htonl(ip)));
printf("/%s",inet_ntoa(htonl(mask)));

Только в один вызов printf/sprintf это не собирай,
а то inet_ntoa неправильно отработает

2. man gethostbyaddr