51

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

4

2 回答 2

85

atoi可以为您做到这一点

例子:

char string[] = "1234";
int sum = atoi( string );
printf("Sum = %d\n", sum ); // Outputs: Sum = 1234
于 2012-10-30T18:54:14.437 回答
11

使用 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;
}
于 2012-10-30T18:54:57.773 回答