EDITAR: Lo siento, debería haber recordado que esta máquina es decididamente no estándar, después de haber conectado varias libcimplementaciones no estándar para fines académicos ;-)
Como de itoa()hecho no es estándar, como lo mencionaron varios comentaristas útiles, es mejor usar sprintf(target_string,"%d",source_int)o (mejor aún, porque está a salvo de desbordamientos del búfer) snprintf(target_string, size_of_target_string_in_bytes, "%d", source_int). Sé que no es tan conciso o genial como itoa(), pero al menos puedes escribir una vez, correr en todas partes (tm) ;-)
Aquí está la vieja respuesta (editada)
Tiene razón al afirmar que el valor predeterminado gcc libcno incluye itoa(), como muchas otras plataformas, debido a que técnicamente no forma parte del estándar. Vea aquí para un poco más de información. Tenga en cuenta que tiene que
#include <stdlib.h>
Por supuesto, ya lo sabe, porque quería usarlo itoa() en Linux después de presumiblemente usarlo en otra plataforma, pero ... el código (robado del enlace anterior) se vería así:
Ejemplo
/* itoa example */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16);
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2);
printf ("binary: %s\n",buffer);
return 0;
}
Salida:
Enter a number: 1750
decimal: 1750
hexadecimal: 6d6
binary: 11011010110
¡Espero que esto ayude!
sprintf(str, "%d", num)? ¿es mucho más lento queitoa?