C语言 itoa函数简单实现

来源:互联网 发布:网络上 求gm什么意思 编辑:程序博客网 时间:2024/05/16 07:24

函数传参有时候会用到int类型转换为字符串,使用itoa函数完成转换类型的基础上,还可以指定转换进制类型(比如16进制,10进制,8进制或者2进制)。

下面贴上itoa函数实现方法:

char* Itoa(int val,char* dst,int radix = 10);//定义的时候默认指定10进制char* Itoa(int val,char* dst,int radix){    char *_pdst = dst;       if (!val)//允许val等于0     {        *_pdst = '0';        *++_pdst = '\0';        return dst;    }               if(val <0)    {        *_pdst++ = '-';        val = -val;    }    char *_first = _pdst;         char _cov;               unsigned int _rem;       while(val > 0)    {        _rem = (unsigned int)(val % radix);        val /= radix;//每次计算一位 ,从低到高        if  (_rem > 9)//16进制            *_pdst++ = (char)(_rem - 10 + 'a');         else            *_pdst++ = (char)(_rem + '0');          }          *_pdst-- = '\0';    do{ //由于数据是地位到高位储存的,需要转换位置        _cov = *_pdst;        *_pdst = *_first;        *_first = _cov;        _pdst--;        _first++;            }while(_first < _pdst);      return dst;}
2 0
原创粉丝点击