首页 > 编程语言 > 详细

特现C语言编程特点的小代码,itoa,数值转换成字符串

时间:2014-03-15 23:07:50      阅读:711      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#define BASE_MAX (26 + 10)

char const* itostr(int x, int base)
{
    /* map 居中, 支技负余数 */
    static char const * const map = 
        &"ZYXWVUTSRQPONMLKJIHGFEDCBA987654321"
      "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
"
      [BASE_MAX - 1];
/* 静态缓冲,不支持多线程, 每次调用都覆盖上次的值 */ static char buf[BASE_MAX]; int oldx; /* 从缓冲尾部逆向使用 */ char* p = buf + sizeof(buf) - 1; *p = \0; /* 不合法的base返回空串 */ if (base < 2 || base > 36) { return p; } do { /* 保存原数,用一次乘法取代取模*/ oldx = x; x = x / base; /* 先减后用 */ *--p = map[oldx - x * base]; } while (x); /* 负数的加上符号 */ if (oldx < 0) *--p = -; return p; }
bubuko.com,布布扣

特现C语言编程特点的小代码,itoa,数值转换成字符串,布布扣,bubuko.com

特现C语言编程特点的小代码,itoa,数值转换成字符串

原文:http://www.cnblogs.com/ahuangliang/p/3602441.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!