Одна из многочисленных по форме (но однообразных по содержанию) вариаций:
Код:
unsigned long host_resolve (char *host)
{
struct in_addr addr;
struct hostent *host_ent;
addr.s_addr = inet_addr (host);
if (addr.s_addr == -1)
{
host_ent = gethostbyname (host);
if (host_ent == NULL)
addr.s_addr = 0;
else
bcopy (host_ent->h_addr, (char *)&addr.s_addr, host_ent->h_length);
}
return addr.s_addr;
}
bcopy - аналог memcpy
Добавлено:
Кстати, в QT есть клас QDns. Он занимается созданием и обновлением в памяти dns-базы (соответствий dhs и ip адресов). Что интересно, в исходниках присутствует код для виндов (чего вообще-то не должно было бы быть). Можете посмотреть.