itoa的两种实现

简介:
一种是linux的实现,一种是Solaris的实现,代码如下:、
namespace linux
{
    void itoa( int i,charstring
    {
        int power, j;
        j=i; 
        for (power=1;j>=10;j/=10) 
            power*=10; 
        for (;power>0;power/=10)
        {
            *string++='0'+i/power; i%=power; 
        }

        *string='\0';
    }
 
}


namespace solaris
{
    char * itoa(long n, int base
    {
        register char *p; 
        register int minus; 
        static char buf[36];
        p = &buf[36]; 
        *--p = '\0'; 
        if (n < 0) { minus = 1; n = -n; } else minus = 0; 
        if (n == 0)  *--p = '0'; 
        else while (n > 0) { *--p = "0123456789abcdef"[n % base]; n /= base; } 
        if (minus) *--p = '-';
        return p;
    }

}


关键还是怎样去求整形的位数,求出来,剩下来的事情就很少了。
目录
相关文章
|
7月前
|
数据格式
sprintf函数
sprintf函数
98 0
strcmp与strncmp的实现和比较
strcmp与strncmp的实现和比较
110 0
|
Go API
【golang】strconv.Atoi 和 strconv.Itoa
【golang】strconv.Atoi 和 strconv.Itoa
238 0
itoa随手记(itoa是什么,itoa怎么用)
itoa随手记(itoa是什么,itoa怎么用)
135 0
|
Go 索引
Go 中的格式化字符串`fmt.Sprintf()` 和 `fmt.Printf()`
在 Go 中,可以使用 fmt.Sprintf() 和 fmt.Printf() 函数来格式化字符串,这两个函数类似于 C 语言中的 scanf 和 printf 函数。本文介绍了五个最常用的格式化动词和参数索引的使用方法。
188 0
atoi函数
atoi函数
142 0
|
Java JavaScript C++
itoa()函数与atoi()函数
1、itoa()函数(整型转字符) 以下是用itoa()函数将整数转换为字符串的一个例子: # include # include void main (void) { int num = 100; char str[...
1102 0
|
机器学习/深度学习
sprintf你知道多少(转)
第一个打出来的肯定不是正确结果,原因跟前面提到的一样,参数压栈时调用者并不知道跟i相对应的格式控制符是个”%f”。而函数执行时函数本身则并不知道当年被压入栈里的是个整数,于是可怜的保存整数i 的那4 个字节就被不由分说地强行作为浮点数格式来解释了,整个乱套了。
1178 0