免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7944 | 回复: 6
打印 上一主题 下一主题

关于inet_ntoa?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-13 00:14 |只看该作者 |倒序浏览
Codes below:
static struct sockaddr_in *
get_server(char *argv)
{
                parse_url(argv);
#if DEBUG
                assert(host==NULL);
#endif
                struct sockaddr_in *server;
                struct hostent *h;
                char *ip=(char *)malloc(IP_LENGTH);
                server->sin_family=AF_INET;
                server->sin_port=htons(HTTP_PORT);
        if((h=gethostbyname(host))==NULL)
                {
                                herror("get host failed");
                                return NULL;
                }
                if(h->h_addrtype==AF_INET)
                {
                                ip=inet_ntoa(h->h_addr_list[0]);
#if DEBUG
                                fprintf("ip is %s\n",ip);
#endif
                }
                inet_aton(ip,(struct in_addr *)&server->sin_addr);
                return server;
}
编译的时候老是提示inet_ntoa(h->h_addr_list[0]) : incompatible type for argument 1 of ‘inet_ntoa’
这是为什么??

论坛徽章:
0
2 [报告]
发表于 2006-08-13 00:26 |只看该作者
类型不匹配   char *inet_ntoa(struct in_addr in);

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2006-08-13 00:28 |只看该作者
这小子还不睡,干啥呢?

论坛徽章:
0
4 [报告]
发表于 2006-08-13 18:49 |只看该作者

已经搞定了。

这样就搞定了。
struct in_addr in=*(struct in_addr *)h->h_addr_list[0];
ip=inet_ntoa(in);

论坛徽章:
0
5 [报告]
发表于 2008-09-18 14:55 |只看该作者
LZ, 仔细看一下你的代码,感觉你的C功底很不好啊。
                char *ip=(char *)malloc(IP_LENGTH);
ip=inet_ntoa(h->h_addr_list[0]);/*干嘛前面申请ip的空间呢?内存泄漏了啊*/
#if DEBUG
                                fprintf("ip is %s\n",ip); /*错!*/
#endif
建议看看林锐博士的C高级编程等C的四书五经

论坛徽章:
0
6 [报告]
发表于 2008-09-18 15:07 |只看该作者
天哪,这是挖坟啊

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2008-09-18 15:13 |只看该作者
原帖由 universes 于 2008-9-18 14:55 发表
LZ, 仔细看一下你的代码,感觉你的C功底很不好啊。
                char *ip=(char *)malloc(IP_LENGTH);
ip=inet_ntoa(h->h_addr_list[0]);/*干嘛前面申请ip的空间呢?内存泄漏了啊*/
#if DEBUG
         ...


申请空间确实有点多余啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP