读书人

怎么保存gethostbyname()获得的多个ip

发布时间: 2012-04-12 15:46:35 作者: rapoo

如何保存gethostbyname()获得的多个ip列表?
gethostname(buff, sizeof(buff));
hostaddr=gethostbyname(buff);
printf("ip:%s\n",inet_ntoa(*(struct in_addr *)hostaddr->h_addr));


我上面的 代码是获取的第一个ip

如果 我把拨号连接上去后,我电脑上行就两个ip地址了 一个192.168.0.1 一个外网ip。

我用
int i=0;
while (hostaddr->h_addr_list[i] != 0)
{
printf("ip:%s\n",inet_ntoa(*(struct in_addr *)hostaddr->h_addr_list[i++]));
}

可以获得 两个ip地址 。我如何将这个ip列表给保存下来呢。
或者说是直接把 hostaddr->h_addr_list里的所有ip地址 给保存下来。

[解决办法]
弄一个二维数组
[解决办法]
直接整个全局变量来存储不就OK啦
[解决办法]
链表呗,俗称chunk_list,string_list。
[解决办法]

探讨

怎么实现啊 你们给几句代码 让我参考下吧 谢谢了。用二维数组? 要是别人电脑上有号几个宽带拨号连接 要是 3个 4个 那ip就有4-5个
设置什么变量保存 比较 简单 稳定

读书人网 >C语言

热点推荐