您的位置:首页 > 编程语言

一段转把整型数字转为char*字符串的代码

2017-12-26 15:34 211 查看
const char* convert(char buf[], int value)

{
static char digits[19] =
{
'9', '8', '7', '6', '5', '4', '3', '2', '1',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
};
static const char* zero = digits + 9; //zero指向'0'

//works for -2147483648....2147483647
int i = value;
char* p = buf;
do{
// lsd - least significant digit
int lsd = i % 10; //lsd 可能小于0
i /= 10;
*p++ = zero[lsd];
} while (i != 0);

if (value < 0)
{
*p++ = '-';
}
*p = '\0';
std::reverse(buf, p);
return p;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐