EDIT: Maaf, saya seharusnya ingat bahwa mesin ini jelas-jelas tidak standar, telah terpasang di berbagai libcimplementasi non-standar untuk keperluan akademik ;-)
Karena itoa()memang tidak standar, seperti yang disebutkan oleh beberapa komentator yang membantu, yang terbaik adalah menggunakan sprintf(target_string,"%d",source_int)atau (lebih baik lagi, karena aman dari buffer overflows) snprintf(target_string, size_of_target_string_in_bytes, "%d", source_int). Saya tahu itu tidak begitu ringkas atau sejukitoa() , tetapi setidaknya Anda dapat Menulis Sekali, Jalankan Di Mana Saja (tm) ;-)
Inilah jawaban lama (yang diedit)
Anda benar dalam menyatakan bahwa default gcc libctidak termasuk itoa(), seperti beberapa platform lain, karena itu secara teknis tidak menjadi bagian dari standar. Lihat di sini untuk info lebih lanjut. Perhatikan bahwa Anda harus melakukannya
#include <stdlib.h>
Tentu saja Anda sudah tahu ini, karena Anda ingin menggunakannya itoa() di Linux setelah mungkin menggunakannya di platform lain, tapi ... kodenya (dicuri dari tautan di atas) akan terlihat seperti:
Contoh
/* 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;
}
Keluaran:
Enter a number: 1750
decimal: 1750
hexadecimal: 6d6
binary: 11011010110
Semoga ini membantu!
sprintf(str, "%d", num)? Apakah ini jauh lebih lambatitoa?