我需要一些关于将char转换为单个整数值的指导。我不应该使用任何转换它们的库函数。我理解如何使用char将单个char转换为数组内的int - ' 0' = int,我的问题是,是否有一种方法可以获取整数数组并使其成为一个整数。我正在使用iostream,string和cctype。
谢谢
答案 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 值,我们只需检查字符串的第一个字符是否为减号( - )。