概述
第一、转int到str
//使用函数sprintf将整形数字格式化
char* int2str(int nSrc,char*sDest)
{
if(sDest == NULL)
return NULL;
char nSrc_arry[64] = {0};
sprintf(nSrc_arry,"%d",nSrc);
memcpy(sDest,nSrc_arry,strlen(nSrc_arry));
return sDest;
}
//先逆序保存起来,在从尾部取出数据保存在str中
int int2str(int num, char * str)
{
int sign, count;
char buf[12] = {0};
sign = num<0 ? -1:1; //标志位
num *= sign;
//将这个整数逆序存放在数组中
for(count=0; num; num/=10, count++)
{
buf[count] = num%10 + 48;
}
if(sign == -1)
buf[count++] = '-';
//逆序去除数据存入到str中
while(count)
{
*(str++) = buf[count-1];
count--;
}
return 0;
}
//不适用任何的库函数实现
char* int2str(int nSrc,char*sDest)
{
if(sDest == NULL)
return NULL;
//处理负数
if(nSrc < 0)
{
*sDest = '-';
sDest++;
nSrc *= -1;
}
//计算这个整数有多少个整数位
int n_bit = 0;
int m = nSrc;
char *p_sDest = sDest;
do
{
n_bit++;
m = m/10;
}
while(m!=0);
//填充这个整数位到sDest中
int x_src = nSrc;
*(p_sDest+n_bit) = '