1

我做错了什么,当我传递一个 IP 地址或任何 IP 时,它总是在找不到主机块中失败。任何帮助将不胜感激。

    struct in_addr ip;
    inet_aton(argv[1], &ip);
    he= gethostbyaddr((const void *)&ip,len,AF_INET);
    printf("%s \n", he->h_name);
4

1 回答 1

1

的第二个参数gethostbyaddr()是传递的二进制 地址的长度,所以len应该是sizeof(in_addr)

备注:您应该考虑getnameinfo()改用它,它“更现代”并且可以处理 IPv4 和 IPv6 地址。

于 2013-09-17T21:22:25.700 回答