je me demandais si yavais une fction ki le faisait directement ou si j'ai plus k'amettre ma povre routine :
int ch2int(char* str)
{
int i;
int l;
int d=1;
int r=0;
l=strlen(str);
for(i=l;i<0;i=i-1)
{
r=r+((str[i]-48)*d);
d=d*10;
}
return(r);
}

int ch2int(char *str) { int r=0; for (int i=0; i < strlen(str); ++i) { r+=static_cast<int>(str[i]); } return r; }
palpa
a écrit : je me demandais si yavais une fction ki le faisait directement
palpa a écrit :
yaro: c pour convertir "348" en 348, je vuex pas le code ascii justement![]()
merchi kevin ,je v voir ca![]()
l'inverse existe t il ?
oui donc atoi (ascii to integer) inverse : itoa (integer to ascii)
squale92 a écrit :
il me semble que celle qui est ANSI est atoi...
(char * vers int)
et que la non-ANSI est itoa (int vers char *)
Uther Lightbringer
a écrit : la lenteur certes mais pas la taille.
Trust a écrit :
je dirai:char *pStr; unsigned int uNbr=0; ... while ( *pStr ) uNbr+=*(pStr++) - '0';
while ( *pStr ) { uNbr *= 10; uNbr += *(pStr++) - '0'; }
while ( uNbr != 0 ) { *(pStr++) = (uNbr%10) + '0'; uNbr /= 10; }
str = gets(stdin); sscanf(str,"...",...);
godzil
: C'est sur que sur TI un buffer overflow va faire planter tout le reseau internet du monde entier