C char*到int转换

Nie*_*iek 39 c int char

我如何将两位数(类型char*)转换为int

Aam*_*mir 69

atoi可以为你做到这一点

例:

char string[] = "1234";
int sum = atoi( string );
printf("Sum = %d\n", sum ); // Outputs: Sum = 1234
Run Code Online (Sandbox Code Playgroud)

  • 没问题 - 很高兴它有效!如果你能把它标记为已接受的答案那就太棒了:) (6认同)

Omk*_*ant 9

使用atoi()来自 <stdlib.h>

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;
}
Run Code Online (Sandbox Code Playgroud)

  • 谁说这个c中没有`const` (2认同)
  • const是从C ++向后移植的,因此很长一段时间以来它不是C关键字。那可能就是您困惑的地方。 (2认同)