0

我想atoi在我的程序中使用函数,但我发现它不起作用。

#include <ctype.h>
int value;
value=atoi(buf);

char buf指向“1000”或类似的东西,以 . 结尾\0。我已经检查过了。但该值始终为零。我试过strtol()了,但我得到了同样的错误。

  1. 我的 ADS(ARM 开发人员套件)是 v1.2 (s3c2440)。我可以在 armlib 路径 (c_t_xx.l) 中找到这些库。
  2. 我使用axd调试模式,所以我可以跟踪我的代码。我找到了,所以我认为 asm 代码链接正确。"bl
    __rt_ctype_table"

请提供任何建议来解决此问题。

4

2 回答 2

1

ARM 可能有字符串函数的问题,你没有提到它是否返回一个值并且它不正确(我听说这是一个错误,最好你应该自己编写函数)或者根本没有值。无论如何看看关于它的arm文章我认为这是解决方案 -关于字符串函数的ARM文章

于 2012-07-17T08:36:57.777 回答
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
于 2012-07-17T08:41:39.090 回答