转自:http://lukas06.blog.sohu.com/85459852.html
1、整数与字符的转换
(1)整数转换为字符:整数加'0'就会隐性的转换为char类型的数。
(2)字符转换为整数:相反的,字符减去'0'就会转换为整数。
2、整数和字符串的转换
(1)整数转换为字符串
使用itoa函数
例如:int num=12345;
char str[10];
itoa(num,str,10); //将num转换为字符串保存到str中
不使用itoa函数:将整数的每位转换为字符,然后再逆序保存。例如:
int num = 12345,i=0,j=0;
char temp[7],str[7];
while(num)
{
char[i]=num%10+'0';
i++;
num=num/10;
}
temp[i] = 0; //最后加上字符串结束符'\0'
i--;
while(i>=0)
{
str[j]=temp[i];
i--;
j++;
}
str[j]=0; //最后加上字符串结束符'\0'
(2)字符串转换为整数
使用atoi函数,如果不能转换返回0
例如:s="-9885 pigs"; /* Test of atoi */
i = atoi( s );
输出为-9885.
不使用atoi函数,可以采用减'0'再乘10累加的办法,字符串减'0'就会隐性转化为int类型的数。
例如:
char a[]={'1','2','3','4','5','6','\0'};
int i=0,temp,sum=0;
while(a[i])
{
temp = a[i]-'0';
sum = sum*10+temp;
i++;
}
cout<<sum<<endl;