当心无符号数据给你带来的麻烦!!!

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-29 02:36   11   0

前些日子,在工作中遇到关于无符号数据带来的麻烦,现在在这里分享给大家。


在mfc工程中

我要获取从 “10.1.2.1” ->"10.1.2.255"

第一步:

CString -------->in_addr

CString类型转化为in_addr 中 通过inet_addr()转化;


然后同过while循环利用in_addr 结构中的s_b4值

获得上述ip

while(sb4<255)

{

cout<<inet_ntoa(in_addr)<<endl;

sb4++;

}

后来经过排查,发现由于in_addr 结构中sb4变量是无符号字符

因此其最大值为255,当sb4 = 255后,sb4++ ,此时sb4 就变为 0

于是while循环就变为死循环,将程序卡死。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP