只需调用一个函数即可gethostbyname(),gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。下面是函数原型:
Windows平台下
#include
struct hostent FAR *PASCAL FAR gethostbyname(const char
FAR * name);
name:指向主机名的指针。
Linux平台下
#include
struct hostent *gethostbyname(const char * hostname);
返回:非空指针——成功,空指针——出错,同时设置h_errno
C语言程序实现:#include
#include
#include
#include
#include
#include int main(int argc, char *argv[])
{ struct hostent *h; char hostname[40];
printf("请输入域名\n");
scanf("%s",hostname);
getchar(); if((h=gethostbyname(hostname))==NULL)
{
fprintf(stderr,"不能得到IP\n");
exit(1);
}
printf("HostName :%s\n",h->h_name);
printf("IP Address :%s\n",inet_ntoa(*((struct in_addr *)h->h_addr))); return EXIT_SUCCESS;
}
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。