我只是C编程的初学者。在解决编程分配时,我遇到了将unsigned char
数组转换为integer
的需求。
例如:
unsigned char x[]="567";
unsigned char y[]="94";
现在我必须在x
和y
中添加整数值。那就是:
int sum=661;
最简单的方法是什么?
答案 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。