专栏中心

EEPW首页 > 专栏 > Linux下用C实现域名到IP的转换(域名解析)

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

发布人:电子禅石 时间:2020-05-20 来源:工程师 发布文章

只需调用一个函数即可gethostbyname(),gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。下面是函数原型:

Windows平台下

#include <winsock2.h>

struct hostent FAR *PASCAL FAR gethostbyname(const char

FAR * name);

name:指向主机名的指针。

Linux平台下

#include <netdb.h>

struct hostent *gethostbyname(const char * hostname);

返回:非空指针——成功,空指针——出错,同时设置h_errno

C语言程序实现:

 
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>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;
}


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

如何设计一套指令集(ISA):从契约到实现的工程方法

嵌入式系统 2025-11-10

《PHILIPS 质量参考手册》(PHILIPS Quality Re...

SRAM 冷不了:利用电源域分离窃取片上机密

嵌入式系统 2025-11-10

《S3C2410 & 嵌入式Linux系统教程》目录

《SOPC嵌入式系统基础教程》多媒体教学课件示例(第一、二、三章)

Omdia:2025年第三季度,显示玻璃营收创历史新高,达2700亿日元

全球AI机器人产业在哪些方面可以协作共赢

《S3C2410&Windows CE.net 5.0实验教程》目录

三菱FX系列PLC教程 8 —— FX系列的软件系统和编程语言

IFR解读世界机器人的市场现状与未来趋势

使用 p-GaN 屏蔽提高开关速度

TechInsights 拆解:华为 Pura X

消费电子 2025-11-10

《S3C2410&Windows CE.net 5.0实验教程》前言

如何构建有弹性的半导体供应链

使用电子噪声和抗蚀剂模糊模型预测随机EUV缺陷密度

让 AI “少渴一点”:揭示并应对模型的隐性用水足迹

更多 培训课堂
更多 焦点
更多 视频

技术专区