C char* to int conversion

2019-01-17 02:53发布

How would I go about converting a two-digit number (type char*) to an int?

标签: c char int
2条回答
该账号已被封号
2楼-- · 2019-01-17 03:38

Use atoi() from <stdlib.h>

http://linux.die.net/man/3/atoi

Or, write your atoi() function which will convert char* to 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;
}
查看更多
男人必须洒脱
3楼-- · 2019-01-17 03:43

atoi can do that for you

Example:

char string[] = "1234";
int sum = atoi( string );
printf("Sum = %d\n", sum ); // Outputs: Sum = 1234
查看更多
登录 后发表回答