Gethostbyname和gethostname结合使用打印出主机IP地址:
源代码:
#include<unistd.h>
#include<netinet/in.h>
#include<sys/socket.h>
#include<stdio.h>
#include<errno.h>
#include<netdb.h>
#include<stdlib.h>
int main()
{
charname [50];
intgethnrvl;
inti=0;
struct hostent* hostent_t;
gethnrvl=gethostname(name,sizeof(name));
if(gethnrvl==-1)
{
perror("gethostnameerror");
_exit(-1);
}
printf("%s \n",name);
//使用gethostbyname获取 主机IP
hostent_t =gethostbyname(name);
//打印出IP地址
for(;hostent_t->h_addr_list[i];i++)
{
printf("%s/t",inet_ntoa(*(struct in_addr*)(hostent_t->h_addr_list[i])));
}
}
运行结果: