Ubuntu上获取主机ip:
#include <stdio.h>#include <stdlib.h>#include <netdb.h>#include <unistd.h>#include <errno.h>#include <linux/limits.h>#include <arpa/inet.h>main(){ struct hostent *h; char **p; char hostname[PATH_MAX]; gethostname(hostname,PATH_MAX); printf(“hostname = %s \n”,hostname); h = gethostbyname(hostname); printf(“hostname = %s \n”,h->h_name); printf(“hostalias = %s \n”,*(h->h_aliases)); //printf(“hostalias2 = %s \n”,*(++(h->h_aliases))); //printf(“hostalias3 = %s \n”,*((h->h_aliases)+2));
printf(“h_length = %d \n”,h->h_length);
//格式化IP地址
printf(“hostip = %s \n”,inet_ntoa(*((struct in_addr *)(h->h_addr_list[0]))));
}
在ubuntu上使用PATH_MAX需要引入#include <linux/limits.h>
使用inet_ntoa需要引入#include <arpa/inet.h>
这和其他版本的linux可能有所区别!
,天有泪,烛有泪,天泪有声,烛泪有形,