gethostbyaddr
函数原型:
#include<netdb.h> struct hostent * gethostbyaddr(const char *addr, socklen_t len, int family);
函数功能:
返回对应于给定地址的主机信息。
参数说明:
addr:指向网络字节顺序地址的指针。
len: 地址的长度,在AF_INET类型地址中为4。
family: 地址类型,应为AF_INET。
返回值:
如果没有错误发生,返回一个指向hostent结构的指针,否则,返回一个空指针。
实例:
/*** gethostbyaddr.c ***/ #include<stdio.h> #include<netdb.h> #include<stdlib.h> #include<arpa/inet.h> #include<string.h> int main(int argc , char **argv) { if (argc < 2) { printf("the argc need more two\n"); return 1; } struct hostent *host; const char *add = argv[1]; char p[30]; inet_pton(AF_INET, add, p); host = gethostbyaddr(p, strlen(p), AF_INET); printf("hostname : %s\n",host->h_name); return 0; }
运行结果: