Atoi(char*p)函数
我需要将字符串转换为int数组。因此,我在字符串上做了一个循环,并从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与您的问题
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()
检查它是否真的是一个数字