如何将字符数组转换为整数?

时间:2012-01-22 02:46:09

标签: c

我只是C编程的初学者。在解决编程分配时,我遇到了将unsigned char数组转换为integer的需求。

例如:

unsigned char x[]="567";
unsigned char y[]="94";

现在我必须在xy中添加整数值。那就是:

int sum=661;

最简单的方法是什么?

2 个答案:

答案 0 :(得分:3)

您正在寻找atoi()

答案 1 :(得分:0)

如果使用标准库,则至少有两个选项。第一个是来自stdlib.h的{​​{3}}函数,第二个是来自stdio.h的{​​{3}}函数。

以下是示例:

<强>的atoi()

char number_string[] = "47";
int number;

number = atoi(number_string);

<强>的sscanf()

char number_string[] = "47";
int number;
int return;

return = sscanf(number_string, "%d", &number);
/* it would be good idea to check the return value here */

sscanf()为您提供更好的错误处理。 sscanf()的返回值确定成功读取的项目数(填充了多少变量)。如果输入失败,则返回EOF。

如果无法执行有效转换,

atoi()将返回0。