我做错了什么,当我传递一个 IP 地址或任何 IP 时,它总是在找不到主机 block 中失败。如有任何帮助,我们将不胜感激。
struct in_addr ip;
inet_aton(argv[1], &ip);
he= gethostbyaddr((const void *)&ip,len,AF_INET);
printf("%s \n", he->h_name);
最佳答案
gethostbyaddr()
的第二个参数是传递的binary的长度
地址,所以 len
应该是 sizeof(in_addr)
。
备注:您应该考虑改用 getnameinfo()
,它“更现代”并且可以处理 IPv4 和 IPv6 地址。
关于c - 通过返回在 C 中找不到主机的地址获取主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18859753/