itloverhpu

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

/******************************************************
整形数据转字符串函数
char *itoa(int value, char *string, int radix)
radix=10 标示是10进制 非十进制,转换结果为0;

例:d=-379;
执行 itoa(d, buf, 10); 后

buf="-379"
**********************************************************/
char *itoa(int value, char *string, int radix)
{
int i, d;
int flag = 0;
char *ptr = string;

/* This implementation only works for decimal numbers. */
if (radix != 10)
{
*ptr = 0;
return string;
}

if (!value)
{
*ptr++ = 0x30;
*ptr = 0;
return string;
}

/* if this is a negative value insert the minus sign. */
if (value < 0)
{
*ptr++ = '-';

/* Make the value positive. */
value *= -1;
}

for (i = 10000; i > 0; i /= 10)
{
d = value / i;

if (d || flag)
{
*ptr++ = (char)(d + 0x30);
value -= (d * i);
flag = 1;
}
}

/* Null terminate the string. */
*ptr = 0;

return string;

} /* NCL_Itoa */

posted on 2013-06-25 22:27  itloverhpu  阅读(341)  评论(0编辑  收藏  举报