кодекса следующим образом:gethostbyaddr() возвращает NULL, но ERRNO результат УСПЕХА
struct sockaddr_in ipv4addr;
ipv4addr.sin_addr.s_addr = inet_addr("127.0.0.1");
struct hostent *he;
he = gethostbyaddr(&ipv4addr, sizeof(ipv4addr), AF_INET);
if(he)
printf("Host name: %s\n", he->h_name);
else
printf("Error AHAHA:%s\n", strerror(errno));
Но это ясно говорит, что
Возвращаемое значение
gethostbyname() и gethostbyaddr() возвращают hostent или указатель NULL, если возникает ошибка. При ошибке в переменной h_errno содержится номер ошибки. Если значение не равно NULL, возвращаемое значение может быть указывает на статические данные, см. Примечания ниже.
Этот фрагмент кода результата при печати Ахаха Ошибка: УСПЕХ, и это также означает, что работать в другой, что указывает на он является NULL, не должно быть.
UPDATE:
memset(&ipv4addr,0,sizeof(ipv4addr));
ipv4addr.sin_family = AF_INET;
добавляя их я как-то получил имя хоста
ANantes-651-1-49-net.w2-0.abo.wanadoo.fr(2.0.0.0)???
И ... что вы на самом деле видите? Есть вопрос? – BadZen
Он говорит прямо в документации, 'h_errno' содержит номер ошибки. Тем не менее, в вашем коде вы проверяете 'errno'. Голосование вне темы, потому что ошибка вызвана простой опечаткой. –
А, я вижу, УСПЕХ - вот выход страха. Да.^это. – BadZen