特现C语言编程特点的小代码,itoa,数值转换成字符串
2014-03-15 20:19
441 查看
#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'; buf 是一个静态数组,默认初始化为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; }
相关文章推荐
- atoi() 函数与 itoa() 函数:字符串与数值之间的转换
- BIGNUM转换成16进制并用字符串保存以及md5算法基于c语言和openssl编程
- C语言的本质(26)——C标准库之数值字符串转换
- 如何:在十六进制字符串与数值类型之间转换(C# 编程指南)
- 如何:在十六进制字符串与数值类型之间转换(C# 编程指南MSDN)
- Linux下的C语言编程——10进制转换成任意进制的字符串
- 数字转字符串(string)扩充说明及简单写数字和字符串转换代码(正式比赛的itoa和atoi用不了)
- C语言的本质(26)——C标准库之数值字符串转换
- C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数
- 摩尔斯电码(morse)转换英文字符串c语言代码
- C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数
- 在十六进制字符串与数值类型之间转换 C# 编程指南
- JS操作字符串转换为数值并取整的代码
- 如何:在十六进制字符串与数值类型之间转换(C# 编程指南)
- c语言编程实现字符串向整数的转换(剑指offer)
- C语言中字符串和数字的相互转换实现代码
- 利用VS.net编程,进行字符串编码格式的各种转换代码
- C语言编程:字母大小写转换以及求字符串长度的两种方法
- JS操作字符串转换为数值并取整的代码
- 如何:在十六进制字符串与数值类型之间转换(C# 编程指南)