zoukankan      html  css  js  c++  java
  • atoi

    enum Status{kValid=0, KInvalid};
    int g_nStatus=kValid;
    int StrToInt(const char *str)
    {
        g_nStatus=KInvalid;
        long long num=0;
        if((str!=NULL)&&(*str!=''))
        {
            bool minus=false;
            if(*str=='+')str++;
            else if(*str=='-')
            {
                minus=true;
                str++;
            }
            if(*str!='')
            {
                num=StrToIntCore(str, minus);
            }
        }
        return (int)num;
    }
    long long StrToIntCore(const char * digit, bool minus)
    {
        long long num=0;
        while(*digit!='')
        {
            if(*digit>='0'&&*digit<=9)
            {
                int flag=minus?-1:1;
                num=10*num+flag*(*digit-'0');
                if(((!minus)&&num>0x7fffffff)||(minus&&(num<(signed int)0x80000000)))
                {
                    num=0;
                    break;
                }
                digit++;
            }
            else
            {
                num=0;
                break;
            }
        }
        if (*digit=='')
        {
            g_nStatus=kValid;
        }
        return num;
    }
  • 相关阅读:
    分答是什么?
    判定表
    总结
    周结
    第五周周结
    周结
    一周总结(18周)
    一周总结(17周)
    一周总结(16周)
    一周总结(15周)
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4458052.html
Copyright © 2011-2022 走看看