如何将char转换为C中的整数?
可能重复:
如何将单个字符转换为int
C中的整数字符
任何机构可以告诉我如何将char
转换为int
?
char c[]={'1',':','3'}; int i=int(c[0]); printf("%d",i);
当我尝试这个时,它给49。
在过去,当我们可以假定大部分电脑都使用ASCII码的时候,我们可以这样做
int i = c[0] - '0';
但在Unicode的这些日子里,这不是一个好主意。 如果您的代码必须在非ASCII计算机上运行,那么从来就不是一个好主意。
编辑:虽然看起来很拗口,显然这是由标准保证的工作。 谢谢@Earwicker。
标准函数atoi()
可能会做你想要的。
一个简单的例子使用“atoi”:
#include <unistd.h> int main(int argc, char *argv[]) { int useconds = atoi(argv[1]); usleep(useconds); }