如何在C中将char转换为整数?

时间:2009-05-15 12:49:50

标签: c char int

  

可能重复:
  How to convert a single char into an int
  Character to integer in C

任何机构都可以告诉我如何将char转换为int吗?

char c[]={'1',':','3'};

int i=int(c[0]);

printf("%d",i);

当我尝试这个时它会给出49。

2 个答案:

答案 0 :(得分:152)

在过去,当我们假设大多数计算机使用ASCII时,我们只会这样做

int i = c[0] - '0';

但是在Unicode的这些日子里,这不是一个好主意。如果您的代码必须在非ASCII计算机上运行,​​那绝不是一个好主意。

编辑:虽然看起来很乱,但显然 可以通过标准来保证工作。谢谢@Earwicker。

答案 1 :(得分:36)

标准函数atoi()可能会做你想要的。

使用“atoi”的简单示例:

#include <unistd.h>

int main(int argc, char *argv[])
{
    int useconds = atoi(argv[1]); 
    usleep(useconds);
}