首页 > 其他 > 详细

自己实现StrToInt函数

时间:2015-11-07 10:52:49      阅读:195      评论:0      收藏:0      [点我收藏+]
int StrToInt(const char*pStr,int defaultVal)
{
    //空指针访问
    if(pStr==0)
        return defaultVal;
    int result=1,tem=0 ;
    //位数
    int bitNum=0;
    //符号
    int sign=1 ;
    const char *pTem=pStr ;
    //检测第一个字符是不是-或者数字
    if(*pTem==‘-‘)
    {
        sign=-1;
        //是否到了结尾或者中间有‘\0‘
        if((*++pTem)!=0)
        {
            if(*pTem>‘0‘&&*pTem<=‘9‘)
            {
                //-1 *=N
                result*=(*pTem-‘0‘);
                //计算位数
                bitNum=(strlen(pStr)-2);
            }
            else
            {
                return defaultVal;
            }
        }
        else
        {
            return defaultVal;
        }
    }
    else if(*pTem>‘0‘&&*pTem<=‘9‘)
    {
        result=(*pTem-‘0‘);
        //计算位数
        bitNum=(strlen(pStr)-1);
    }
    else
    {
        return defaultVal;
    }
    pTem++;
    //检测剩下的字符串有没有不合法的‘\0‘截断
    while(*pTem!=0)
    {
        //不合法
        if(*pTem<‘0‘||*pTem>‘9‘)
            return defaultVal;
        //计算结果 tem=tem*10+n
        tem=tem*10+(*pTem-‘0‘) ;
        pTem++;
    }
    //组合首位和后续数字
    return (tem+result*pow(10,bitNum))*sign;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

自己实现StrToInt函数

原文:http://blog.csdn.net/yue7603835/article/details/49699851

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!