如何将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); }