把一个字符串转换成整数

来源:互联网 发布:java中无法加载主类 编辑:程序博客网 时间:2024/06/16 18:11

#include<stdio.h>

int StrToInt(const char* str)
{
    long long num = 0;
    if(str != NULL)
    {
        const char* digit = str;
        // the first char in the string maybe '+' or '-'
        int minus = 0;
        if(*digit == '+')
            digit ++;
        else if(*digit == '-'){
            digit ++;
            minus = 1;
        }
        // the remaining chars in the string
        while(*digit != '\0'){
            if(*digit >= '0' && *digit <= '9'){
                num = num * 10 + (*digit - '0');
                digit ++;
            }
            // if the char is not a digit, invalid input
            else{
                num = 0;
                break;
            }
        }
        if(*digit == '\0'){
            if(minus)
                num = 0 - num;
        }
    }
    return num;
}
int main(void)
{
    char *string = "1111";
    printf("%d",StrToInt(string));
    return 0;
}

原创粉丝点击