网上直接有代码,直接贴过来,
尊重原创,原文链接:http://blog.csdn.net/yuliu0552/article/details/6649312
一、整数 转化为 字符串
1、正负号的flag标记处理(下边代码没有处理);
2、从整数低位 取模 ,逐位 存储;
3、数组的 逆序 处理。
char *IntToStr(int num, char str[])
{
int i = 0, j = 0;
char temp[100];
while(num)
{
temp[i] = num % 10 + '0'; //取模运算得到从后往前的每一个数字变成字符
num = num / 10;
i++;
}
temp[i] = 0; //字符串结束标志
i = i - 1; //回到temp最后一个有意义的数字
while(i >= 0)
{
str[j] = temp[i];
i--;
j++;
}
str[j] = 0; //字符串结束标志
return str;
}
1、strlen 逐位校验 合法性(下例没有考虑);
2、判断 整数 正负 ;
3、精髓的一句: value = value * 10 +(*str - '0');
/*字符串转换为整数,仅考虑十进制,不考虑非法字符*/
int StrToInt(char *str)
{
int value = 0;
int sign = 1;
assert(str != NULL);
if(*str == '-')
{
sign = -1;
str++;
}else if(*str == '+')
{
str++;
}
while(*str)
{
value = value * 10 +(*str - '0');
str++;
}
return sign * value;
}