linux系统域名转换,Linux下用C实现域名到IP的转换(域名解析)

只需调用一个函数即可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;

}

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值