首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

Linux上使用C语言编写获取某个域名IP地址的程序

2012-09-02 
Linux下使用C语言编写获取某个域名IP地址的程序根据《UNIX环境高级编程(第二版)》的相关章节的描述,编写了这

Linux下使用C语言编写获取某个域名IP地址的程序

根据《UNIX环境高级编程(第二版)》的相关章节的描述,编写了这个程序,以验证对所学知识的理解是否正确。

?

/** 获取某个域名的ip地址,以列表形式打印。** 作者: nswish* 2012-01-30** 在如下环境编译通过:* Kubuntu 11.1* gcc version 4.6.1*/#include <stdio.h>#include <netdb.h>#include <stdlib.h>main(int argc, char *argv[]){    struct addrinfo * res, *pt;    struct sockaddr_in *sinp;    const char *addr;    char abuf[INET_ADDRSTRLEN];    int succ=0,i=0;    if(argc == 1)    {        printf("USAGE: getip <server name>\nFor example:\n    getip www.google.com\n");        exit(1);    }    succ = getaddrinfo(argv[1], NULL, NULL, &res);    if(succ != 0)    {        printf("Can't get address info! error code = %d", succ);        exit(succ);    }    for(pt=res, i=0; pt != NULL; pt=pt->ai_next, i++){        sinp = (struct sockaddr_in *)pt->ai_addr;        addr = (const char *)inet_ntop(AF_INET, &sinp->sin_addr, abuf, INET_ADDRSTRLEN);        printf("%2d. IP=%s\n", i, addr);    }}
?

将以上代码保存在名为getip.c的文件中,然后使用命令 gcc getip.c -o getip。

如果系统中没有gcc编译程序,可执行sudo apt-get install gcc来安装。

?

?

?

热点排行