爪 杉jarsonfang.blog.chinaunix.net
szufhc2006
全部博文(119)
Tools(0)
Bash(13)
Awk&Sed(16)
2011年(4)
2010年(115)
77jessie
chengwen
eepsilon
viplt
格伯纳
浪花小雨
weimj00
yqw1122
rain麦子
搁笔
zhiming.
分类: C/C++
2011-01-19 22:23:03
参考:~slowe/cpp/itoa.html
// 整型数值转位宽为size的2~16进制字符串,前导0填充对齐。 char* simple_itoa(int value, char* result, int base, int size) { int i; int n; char* ptr = result; char* ptr1 = result; char tmp_char; int tmp_value; //check that the base if valid if (base < 2 || base > 16) { *result = '\0'; return result; } do { tmp_value = value; value /= base; *ptr++ = "0123456789abcdef"[tmp_value - (value*base)]; } while (value); if (tmp_value < 0) *ptr++ = '-'; //Apply negative sign *ptr = '\0'; n = strlen(result); if (n < size) { for (i=0; i < (size-n); i++) { *ptr++ = '0'; } *ptr = '\0'; } ptr--; while (ptr1 < ptr) { tmp_char = *ptr; *ptr-- = *ptr1; *ptr1++ = tmp_char; } return result; }
上一篇:uboot开机logo
下一篇:博客已升级,请注意变更地址
登录 注册