linux下gethostbyname函数示例程序
2010-08-17 19:30
357 查看
#include
#include
#include
int main(int argc, char **argv)
{
if(argc != 2){ fprintf(stdout,"Usage: %s );return]www.baidu.com/n",argv[0]);return
0;}
char *ptr,**pptr;
struct hostent *hptr;
char str[32];
/* 取得命令后第一个参数,即要解析的域名或主机名 */
ptr = argv[1];
/* 调用gethostbyname()。调用结果都存在hptr中 */
if( (hptr = gethostbyname(ptr) ) == NULL )
{
printf("gethostbyname error for host:%s/n", ptr);
return 0; /* 如果调用gethostbyname发生错误,返回1 */
}
/* 将主机的规范名打出来 */
printf("official hostname:%s/n",hptr->h_name);
/* 主机可能有多个别名,将所有别名分别打出来 */
for(pptr = hptr->h_aliases; *pptr != NULL; pptr++)
printf(" alias:%s/n",*pptr);
/* 根据地址类型,将地址打出来 */
switch(hptr->h_addrtype)
{
case AF_INET:
case AF_INET6:
pptr=hptr->h_addr_list;
/* 将刚才得到的所有地址都打出来。其中调用了inet_ntop()函数 */
for(;*pptr!=NULL;pptr++)
printf(" address:%s/n", inet_ntop(hptr->h_addrtype, *pptr, str, sizeof(str)));
break;
default:
printf("unknown address type/n");
break;
}
return 0;
}
Powered by Zoundry Raven
#include
#include
int main(int argc, char **argv)
{
if(argc != 2){ fprintf(stdout,"Usage: %s );return]www.baidu.com/n",argv[0]);return
0;}
char *ptr,**pptr;
struct hostent *hptr;
char str[32];
/* 取得命令后第一个参数,即要解析的域名或主机名 */
ptr = argv[1];
/* 调用gethostbyname()。调用结果都存在hptr中 */
if( (hptr = gethostbyname(ptr) ) == NULL )
{
printf("gethostbyname error for host:%s/n", ptr);
return 0; /* 如果调用gethostbyname发生错误,返回1 */
}
/* 将主机的规范名打出来 */
printf("official hostname:%s/n",hptr->h_name);
/* 主机可能有多个别名,将所有别名分别打出来 */
for(pptr = hptr->h_aliases; *pptr != NULL; pptr++)
printf(" alias:%s/n",*pptr);
/* 根据地址类型,将地址打出来 */
switch(hptr->h_addrtype)
{
case AF_INET:
case AF_INET6:
pptr=hptr->h_addr_list;
/* 将刚才得到的所有地址都打出来。其中调用了inet_ntop()函数 */
for(;*pptr!=NULL;pptr++)
printf(" address:%s/n", inet_ntop(hptr->h_addrtype, *pptr, str, sizeof(str)));
break;
default:
printf("unknown address type/n");
break;
}
return 0;
}
Powered by Zoundry Raven
相关文章推荐
- 【Linux C代码分享二】UDP Socket示例程序:使用fgets函数获取屏幕输入
- Linux网络编程一步一步学-HTTPS客户端程序示例
- linux下统计程序/函数运行时间
- python基础教程之popen函数操作其它程序的输入和输出示例
- linux下c++多线程下用CLOCK()函数统计程序运行时间 2012-12-11 12:46:01 分类: C/C++ clock()函数的功能: 这个函数返回从“开启这个程序进程”到
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- linux不带缓冲的文件操作基本函数及用法示例
- Linux C 程序性能测试 valgrind callgrind分析函数耗时、perf分析函数CPU消耗
- MCAPI学习笔记<一>——简介与Linux下示例程序测试
- [Linux网络编程]域名转换函数族--使用gethostbyname函数1
- 使用socket的Linux上的C语言文件传输顺序服务器和客户端示例程序
- c++ 函数重载示例程序
- linux中误删除程序包恢复示例 推荐
- pvtrace和Graphviz实现对linux下C程序的函数调用跟踪
- linux c 时间函数,获取程序执行时间
- Linux加载程序GRUB和LILO配置示例
- 如何实现在Windows上运行Linux程序,附示例代码
- linux下实现在程序运行时的函数替换(热补丁)
- 程序示例中为何总是有foo之类的函数?
- 使用socket的Linux上的C语言文件传输顺序服务器和客户端示例程序