web-dev-qa-db-fra.com

C char * to int conversion

Comment procéder pour convertir un nombre à deux chiffres (tapez char*) à un int?

38
Niek

atoi peut le faire pour vous

Exemple:

char string[] = "1234";
int sum = atoi( string );
printf("Sum = %d\n", sum ); // Outputs: Sum = 1234
67
Aamir

Utilisez atoi () à partir de <stdlib.h>

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

Ou bien, écrivez votre atoi() qui convertira char* En 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;
}
8
Omkant