我需要将我的字符串转换为 int 数组。所以我对字符串进行循环,并从 stdlib.h
调用 int atoi(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');
关于c - Atoi(char *p) 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10583513/