C char* 到 int 的转换
Posted
技术标签:
【中文标题】C char* 到 int 的转换【英文标题】:C char* to int conversion 【发布时间】:2012-10-20 04:37:51 【问题描述】:如何将两位数(键入char*
)转换为int
?
【问题讨论】:
cplusplus.com/reference/clibrary/cstdlib/strtol 如果是解决方案,请接受 aam1r 的回答。 【参考方案1】:atoi 可以为您做到这一点
例子:
char string[] = "1234";
int sum = atoi( string );
printf("Sum = %d\n", sum ); // Outputs: Sum = 1234
【讨论】:
【参考方案2】:使用 <stdlib.h>
中的 atoi()
http://linux.die.net/man/3/atoi
或者,编写自己的 atoi()
函数,将 char*
转换为 int
int a2i(const char *s)
int sign=1;
if(*s == '-')
sign = -1;
s++;
int num=0;
while(*s)
num=((*s)-'0')+num*10;
s++;
return num*sign;
【讨论】:
a2i 是完美的解决方案,只需要修复否定案例添加括号 if 将修复它 if(*s == '-') sign = -1; s++;以上是关于C char* 到 int 的转换的主要内容,如果未能解决你的问题,请参考以下文章