HI All!
Возникла такая проблемка при програмировании сокетов.
Необходимо получать адресс по имени хоста.
Естественно для этой цели использую функцию
struct hostent *gethostbyname(const char *name);
Даная функция возвращает указатель на такую структуру
struct hostent {
char *h_name;
char **h_aliases;
int h_addrtype;
int h_length;
char **h_addr_list;
};
#define h_addr h_addr_list[0]
Если верить этому
h_addr_list. Массив, содержащий адреса всех сетевых интерфейсов хоста. Завершается нулём. Обратите внимание, что байты каждого адреса хранятся с сетевым порядке, поэтому htonl вызывать не нужно.
Значит в h_addr_list[0] будет лежать искомый адресс.
Вопрос Как его оттудова извлечь?
Как, в каком формате он там хранится?
Или может так случиться что адрес получен те будет?
Получаю нормальный указатель на эту структуру, а в этом поле какойто мусор. Уже пытался по разному его интерпретировать и преобразовывать но ничего путного не получилось.
Если можете подскажите.
Заранее благодарю.