标题:关于判断int型是否越界的问题?
取消只看楼主
zxhutu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-5-6
 问题点数:0 回复次数:0 
关于判断int型是否越界的问题?
请教各位
我在写charToInt的时候对于int型超过最大值的错误判断的时候,不知道有什么好的办法
我现在的处理是定义一个long型的result,然后判断计算的值是否超过int型的最大值,可是总觉得这样做不太好,至少多占用了空间丫,请问各位有什么好的方法么,请不吝赐教!

int StrToInt(const char* szStr){
    long  lResult = 0;
    const int MAX_INT_VALUE = 2147483647;   
    const char* szTmp = szStr;
   
    if( szStr == NULL )
        return -1;
        
    while (*szTmp){
        if(*szTmp >= '0' && *szTmp <= '9'){
            lResult = lResult*10+(*szTmp-'0');//
        }
        else {
     return -1;
        }
        
        if( lResult > MAX_INT_VALUE ) return -1;//out of range
        szTmp++;
    }
   
    return (int)lResult;
}
搜索更多相关主题的帖子: int 越界 判断 
2005-05-06 00:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-17416-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.854719 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved