将char数组中的数字存储到VC ++中的INTEGER变量中。

我的场景如下:(C ++)

在char a [10]中,数组a []具有元素(数字),如“1”,“2”,“3”等….

说一个[0] =’1′;
a [1] =’2′;
a [2] =’3′;

现在a []存储3个字符’1’,’2’和’3’。 我想将它存储为int 123(整数123)。

如何在C ++中实现这一目标?

a[3] = 0是必须的。 如果您的字符串不是以null结尾,则大多数方法都不起作用。

在那之后,这是一个简单的number = atoi(a)

取决于[2]之后的值是……

 int total = 0; for ( int i = 0; i < a[i]; i++ ) { total *= 10; total += a[i] - '0'; } 
 #include  int array2int(char a[]) { int i = 0; int value = 0; while (a[i]) { value *= 10; value += a[i] - '0'; i++; } return value; }; int main(void) { char a[10] = "123"; int value = array2int(a); std::cout << value << std::endl; }; 
 #include  int ca2int(char *array, size_t len){ int v = 0; while(len--) v = 10*v + *array++ - '0'; return v; } int main(){ char a[10]; a[0] = '1'; a[1] = '2'; a[2] = '3'; std::cout << ca2int(a, 3); }