gethostbyname的问题,请帮忙~!

发布于 2022-07-18 09:45:45 字数 1181 浏览 10 评论 3

#include "unp.h"

int main(int argc, char **argv)
{

        struct hostent *hptr;
        char           **pptr;
        char            str[1024];

        if ((hptr = gethostbyname("www.163.com"))==NULL){
                printf("gethostbyname() errorn");

        }
        pptr = hptr->h_addr_list;
        printf("%s", inet_ntop(hptr->h_addrtype, *pptr, str, sizeof(str)));

        printf("%s", hptr->h_name);
        return 0;
}
这个函数我有点用不明白,如果我把if ((hptr = gethostbyname("localhost"))==NULL)换成这个能得到本机的ip和本机名,而换成域名就有错误了.
错误如下:
gethostbyname() error
Segmentation fault

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小女人ら 2022-07-24 11:06:25

hptr == NULL
你还 pptr = hptr->h_addr_list;
怎么会不出现 Segmentation fault

只涨不跌 2022-07-20 14:16:29

看看 ping  www.163.com可否ping通  ,如果能ping通,应该不会出现gethostbyname() error
Segmentation fault
的问题。

轻拂→两袖风尘 2022-07-19 19:32:13

没人知道吗?帮帮忙

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文