C语言实现itoa

来源:互联网 发布:淘宝旗舰店买手机 编辑:程序博客网 时间:2024/06/04 21:34

在工作中发现,stdlib.h文件中只有atoi函数,没有itoa函数,这里自己实现1个:

char *itoa(int val, char *buf, unsigned radix){    char   *p;                 char   *firstdig;          char   temp;               unsigned   digval;         p = buf;    if(val <0)    {        *p++ = '-';        val = (unsigned long)(-(long)val);    }    firstdig = p;     do{        digval = (unsigned)(val % radix);        val /= radix;               if  (digval > 9)            *p++ = (char)(digval - 10 + 'a');         else            *p++ = (char)(digval + '0');          }while(val > 0);       *p-- = '\0';             do{        temp = *p;        *p = *firstdig;        *firstdig = temp;        --p;        ++firstdig;            }while(firstdig < p);      return buf;}