字符数组到单个整数

时间:2015-10-04 05:34:02

标签: c++ parsing

我需要一些关于将char转换为单个整数值的指导。我不应该使用任何转换它们的库函数。我理解如何使用char将单个char转换为数组内的int - ' 0' = int,我的问题是,是否有一种方法可以获取整数数组并使其成为一个整数。我正在使用iostream,string和cctype。

谢谢

1 个答案:

答案 0 :(得分:2)

看看这段代码:

#include <string.h>
#include <iostream>

int main(void) {
    char str[20] = {'1', '2', '3', '4', '5', '6', '\0'};  // char string;
    int i, len;

    long long number = 0;                                 // number which stores the value 

    len = strlen(str);                                    // calculate the length of string
    i = 0;
    for(i=0; i<len; i++) {
        number = 10*number + (str[i] - '0');
    }

    std::cout << number << std::endl;                     // number
    return 0;
}

注意:它可以处理从 0到9,223,372,036,854,775,807 的所有 + ive 值。我们甚至可以将其扩展为 -ive 值,我们只需检查字符串的第一个字符是否为减号( - )