Atoi(char*p)函数

Atoi(char*p)函数,c,xcode,macos,C,Xcode,Macos,我需要将字符串转换为int数组。因此,我在字符串上做了一个循环,并从stdlib.h调用intatoi(char*p)函数,但它在mac上不起作用(以前我曾在Windows上试用过,效果很好)。简单循环: for(p = buff; *p; p++) printf("%d", atoi(p)); 你认为这个函数的工作有什么问题吗?这个函数工作得非常好。例如,如果buff包含“123”,您的代码将打印123233 然而,您似乎只想打印单个数字的值,在这种情况下,atoi与您的问题

我需要将字符串转换为int数组。因此,我在字符串上做了一个循环,并从
stdlib.h
调用
intatoi(char*p)
函数,但它在mac上不起作用(以前我曾在Windows上试用过,效果很好)。简单循环:

    for(p = buff; *p; p++)
    printf("%d", atoi(p));

你认为这个函数的工作有什么问题吗?

这个函数工作得非常好。例如,如果
buff
包含
“123”
,您的代码将打印
123233

然而,您似乎只想打印单个数字的值,在这种情况下,
atoi
与您的问题无关。尝试:

for(p = buff; *p; p++)
    printf("%d", *p-'0');

您的意思是将
buff
中的每个
char
转换为
int
?在转换之前,您应该使用
isdigit()
检查它是否真的是一个数字