当前位置: 技术问答>linux和unix
printf("addr: %s\n",host_info->h_addr_list[0]) 无法显示本机IP(附源码)
来源: 互联网 发布时间:2016-06-01
本文导语: #include #include #include #include int main(void) { struct in_addr host_addr; struct hostent *host_info; inet_aton("127.0.0.1",&host_addr); host_info=gethostbyaddr(&host_addr,4,AF_INET); if(host_info == NULL) { perror("failed gethostbyaddr"); exit(1); } printf("...
#include
#include
#include
#include
int main(void)
{
struct in_addr host_addr;
struct hostent *host_info;
inet_aton("127.0.0.1",&host_addr);
host_info=gethostbyaddr(&host_addr,4,AF_INET);
if(host_info == NULL)
{
perror("failed gethostbyaddr");
exit(1);
}
printf("name: %sn",host_info->h_name);
printf("type: %dn",host_info->h_addrtype);
printf("addr: %sn",host_info->h_addr_list[0]);////////运行时,此代码无法输出正常值,什么原因,请高手指教
char *ip;
ip=inet_ntoa(host_addr);
printf("addr: %sn",ip);
return 0;
}
#include
#include
#include
int main(void)
{
struct in_addr host_addr;
struct hostent *host_info;
inet_aton("127.0.0.1",&host_addr);
host_info=gethostbyaddr(&host_addr,4,AF_INET);
if(host_info == NULL)
{
perror("failed gethostbyaddr");
exit(1);
}
printf("name: %sn",host_info->h_name);
printf("type: %dn",host_info->h_addrtype);
printf("addr: %sn",host_info->h_addr_list[0]);////////运行时,此代码无法输出正常值,什么原因,请高手指教
char *ip;
ip=inet_ntoa(host_addr);
printf("addr: %sn",ip);
return 0;
}
|
host_info->h_addr_list[0]里面是long数据类型,要用inet_ntoa转换一下才能用%s输出
|
char *ip = inet_ntoa(*(in_addr *)host_info->h_addr_list[0]);
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。