strToInt函数将字符列表转换为C中的整数

时间:2013-02-13 17:48:50

标签: c string character

在C中,我需要一个从0-9获取字母数字列表字符并将其转换为整数的函数。

代码:

int strToInt(char string[])
{
    int i, intValue, result = 0;
    for (i = 0; string[i] > '0' && string[i] <= '9'; ++i)
    {
        intValue = string[i] - '0';
        result = ???
    }
    return result;
}

我该怎么办?使它工作?

3 个答案:

答案 0 :(得分:2)

试试这个:

result = result * 10 + intValue;

此外:

string[i] > '0'
for循环中的

看起来很讨厌 - 数字可以包含数字0,对吧?您可能想要使用

string[i] >= '0'
相反,甚至更好,没有重新发明轮子:

#include <ctype.h>

for (i = 0; isdigit(string[i]); ++i)

答案 1 :(得分:1)

好吧,你的字符串是十进制的,基数为10,字符串中的每个数字代表一个基数为10的系统中的位置。即所以你想做

 result = result * 10 + intValue;

请记住'0'也是一个数字,所以你不想省略那个,使用string[i] >= '0'

答案 2 :(得分:0)

如果您在谈论基础10,您可能应该将0也包括在内,因此

string[i] >= '0'
for循环中

。和通常的地方价值计算

result = result*10 + intValue;