免费注册 查看新帖 |

Chinaunix

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

[C] 小弟学浅,想半天没想到错误成因。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-12 12:58 |只看该作者 |倒序浏览
int Mystrcmp(char *mip,char *rip)
{
        int i;

//printf("mip = %s\n",mip);
//printf("rip = %s\n",rip);

//printf("mip len = %d\n",strlen(mip));
//printf("rip len = %d\n",strlen(rip));

        if(strlen(mip) != strlen(rip))
        {
                return FALSE;
        }

        for(i =0;i<strlen(mip);i++)
        {
//                printf("mip[%d] = %c\n",i,mip[i]);
//                printf("rip[%d] = %c\n",i,rip[i]);
//                getchar();               

                if(mip[i] != rip[i])
                {
                        return FALSE;
                }
        }

        return TRUE;

}
//这事 自己写的字符串比较 ,开始用c库的string 怎么也判断不出来 ,后来改成自己写,还是判断不出来,下面是 传进去的参数

ret=recvfrom(overall_my_sockfd,
                                 overall_friend_info,
                                 sizeof(sUser_info),
                                 0,
                                 (struct sockaddr *)&con_addr,
                                 (socklen_t *)&con_len);
                if (ret<0)
                {
                        perror("recvform");
                }
               
printf("********recv overall_friend_info->user_ip_info = %s\n",inet_ntoa(overall_friend_info->user_ip_info.sin_addr));
printf("********recv con_addr.sin_addr = %s\n",inet_ntoa(con_addr.sin_addr));

                strcpy(mygetip,inet_ntoa(overall_my_info->user_ip_info.sin_addr));
                strcpy(recvip,inet_ntoa(con_addr.sin_addr));
                len_ip = Mystrcmp(mygetip,recvip);
//开始有错误的时候,mygetip,recvip  我用的是char * , 怎么判断都不出来,两个IP不同,可strcmp返回 还是相同。
后来改成 char [] 再传进去 就能判断出来了,给小弟 指点 一二三。

//补充,在char *的时候  上面的两句printf 也都正确,两个不相同 。给strcmp 就 的时候,传进去就相同了。strncmp效果也是一样。

论坛徽章:
0
2 [报告]
发表于 2012-08-12 13:18 |只看该作者
纠错的 地方,if (ret<0)
是 < 1

论坛徽章:
0
3 [报告]
发表于 2012-08-12 18:38 |只看该作者
inet_ntoa()的问题,他是不可重入的。

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
4 [报告]
发表于 2012-08-12 19:21 |只看该作者
回复 3# _Rayx


    没见过重入。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP