一个简单的函数:getlocalip
int getlocalip(char *ip)
{
char host[100] = {0};
if (gethostname(host, sizeof(host)) < 0)
return -1;
struct hostent *hp;
if ((hp = gethostbyname(host)) == NULL)
return -1;
strcpy(ip, inet_ntoa(*(struct in_addr*)hp->h_addr));
printf("in getloaclip: ip is %s\n",ip);
return 0;
}
打印的结果为 in getloaclip:ip is 127.0.1.1
很奇怪的一个结果。应该和/etc/host中的配置有关系,要怎么修改呢?
请教大家了
参考 http://blog.csdn.net/duyiwuer2009/article/details/7861938
需要修改hosts文件和网卡的配置/etc/network/interface