久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

博客專欄

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;
}


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



關鍵詞:

相關推薦

技術專區

關閉