【问题标题】:C char* to int conversionC char* 到 int 的转换
【发布时间】:2012-10-20 04:37:51
【问题描述】:

如何将两位数(键入char*)转换为int

【问题讨论】:

标签: c char int


【解决方案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++; }
    猜你喜欢
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多