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

 

运行结果:

 

posted @ 2019-11-13 09:16  王清河  阅读(469)  评论(0编辑  收藏  举报