我想在我的程序中使用atoi
函数,但我发现它不起作用。
#include <ctype.h>
int value;
value=atoi(buf);
char buf
指向“1000”或类似内容,由\0
终止。我检查了一下。
但是值总是评估为零。我试过了strtol()
,但我得到了同样的错误。
axd
调试模式,因此我可以跟踪我的代码。我发现"bl
__rt_ctype_table"
,所以我认为asm代码链接正确。请提供任何解决此问题的建议。
答案 0 :(得分:1)
ARM可能有字符串函数的问题,你没有提到它是否返回一个值而且它是不正确的(我听说这是一个错误,你应该自己编写这个函数更好)或者根本没有任何价值。 无论如何看看有关它的手臂文章,我认为这是解决方案 - ARM article about string functions
答案 1 :(得分:0)
以下代码应该有效,
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char buff[5] = "1000\0";
i=atoi(buff);
printf("i=%d\n", i);
return 0;
}
#./a.out
#i=1000