从C中的多个char数组字段创建int值

时间:2015-08-14 16:52:23

标签: c

我正在研究一个C程序,我正在努力解决它(我已经被面向对象的概念所破坏)。

我想做的是:

我想将char数组中的值放入int中。例如,我有char[0] == '1'char[1] == '2'。我想将这些值放在一个int变量中,因此它的值为12.我试过看但我不知道如何完成它。

我真的很擅长解释所以请在必要时询问更多信息。

2 个答案:

答案 0 :(得分:1)

如果字符数组包含一个字符串,如果它是零终止的,那么您可以应用标题atoi中声明的标准C函数<stdlib.h>

例如

char s[] = "12";
int x = atoi( s );

如果数组未以零终止

char s[2] = "12";

然后您可以手动将其内容转换为整数。

例如

int x = 0;

for ( size_t i = 0; i < sizeof( s ) / sizeof( *s ); i++ )
{
    x = 10 * x + s[i] - '0';
}

答案 1 :(得分:0)

您要做的是称为解析。在c中,这可以通过atoi()函数完成,如下所示:

 char s[] = "12";
 int num = atoi(s);