gethostbyname的问题,请帮忙~!
#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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
hptr == NULL
你还 pptr = hptr->h_addr_list;
怎么会不出现 Segmentation fault
看看 ping www.163.com可否ping通 ,如果能ping通,应该不会出现gethostbyname() error
Segmentation fault
的问题。
没人知道吗?帮帮忙