itoa n'existe pas dans la stdlib de Linux entre autre.
Voici une fonction perso fait il y a quelque temps justement pour pallier à ce manque sans avoir à utiliser sprintf.
Elle fait la même chose que:
itoa(val, dest, 10);
char *myitoa_base10 (int val, char *dest)
{
char *c = dest, *ret;
int q = val;
if(!q) {
*dest++ = '0';
*dest = 0;
return dest;
}
if(q < 0) q = -q;
while(q) {
int r = q%10;
q /= 10;
*dest++ = r+'0';
}
if(val < 0) *dest++ = '-';
ret = dest;
*dest-- = 0;
while(c < dest) {
char tmp = *c;
*c++ = *dest;
*dest-- = tmp;
}
return ret;
}
C++ (@++)