00001 #include <string.h> 00002 #include "itoa.h" 00003 00004 00005 static char itoa_buffer[ITOA_MAXSTRINGLEN+1]; 00006 00007 00008 static void itoa_num_to_str(int n) 00009 { 00010 int i; 00011 int len; 00012 00013 if ((i=n/10)!=0) itoa_num_to_str(i); 00014 len = strlen(itoa_buffer); 00015 if (len<ITOA_MAXSTRINGLEN) 00016 { 00017 itoa_buffer[len] = n%10 + '0'; 00018 itoa_buffer[len+1] = '\0'; 00019 } 00020 } 00021 00022 00023 char *itoa(int n) 00024 { 00025 itoa_buffer[0] = '\0'; 00026 itoa_num_to_str(n); 00027 return (char *)itoa_buffer; 00028 } 00029 00030