手写的,没有经过优化。
将整数转换为相应的字符串。注意INT64的最大值,以免溢出。
char* itoa_my(INT64 value, char *buffer, size_t size)
{
assert(buffer != NULL);
assert(size > 1);
size_t Len = 0;
INT64 tempvalue = value;
if (value < 0)
tempvalue = -value;
// get the length of the int
while (tempvalue > 0)
{
Len++;
tempvalue /= 10;
}
if ( Len > size - 1 )
{
free(buffer);
buffer = (char *)malloc(sizeof(char)*(Len) + 1);
}
if (value < 0)
{
Len++;
buffer[0] = '-';
tempvalue = -value;
}
buffer[Len] = '/0';
do
{
buffer[--Len] = '0' + tempvalue % 10;
tempvalue /= 10;
}while(tempvalue > 0);
return buffer;
}
本文介绍了一个手写的方法用于将64位整型数字转换为字符串,并考虑了溢出和符号位处理的问题。该方法首先计算数字的长度,然后逐位逆序地将数字转换成字符。
2205

被折叠的 条评论
为什么被折叠?



