可能的重复:
如何在 C 中将单个 char 转换为 int
字符到整数
任何人都可以告诉我如何将 a 转换char
为int
吗?
char c[]={'1',':','3'};
int i=int(c[0]);
printf("%d",i);
当我尝试这个时,它给出了 49。
可能的重复:
如何在 C 中将单个 char 转换为 int
字符到整数
任何人都可以告诉我如何将 a 转换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 <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
int useconds = atoi(argv[1]);
usleep(useconds);
}