一.使用itoa将整形转换为字符串
int main()
{
//char* itoa(int value,char* string,int base);
//int value 被转换的整数 char* string 转换的后的字符数组 int base 转换进制数
int num = 12345678;
char str[12];
_itoa(num, str, 10);
cout << "转换后的字符串:" << str << endl;
system("pause");
return 0;
}
二.不使用itoa将整形转换为字符串
思路:使用字符0,再逆序,整数加’0‘就会转换为相应的字符类型
int main()
{
int num = 12345;
int i = 0;
int j = 0;
char str[7];
char ppy[7];
while (num)
{
str[i] = num % 10 + '0'; //转换为字符
++i;
num = num / 10;
}
str[i] = 0; //防止越界
cout << "逆序的字符串:"<<str << endl;
i = i - 1;
while (i >= 0)
{
ppy[j] = str[i];
--i;
++j;
}
ppy[j] = 0;
cout << "转换后的正确字符串:" << ppy << endl;
system("pause");
return 0;
}
三.不使用atoi将字符串转换为整形
思路:可以采用减’0‘再乘10累加的办法,字符减’0‘即转换为相应整形
int main()
{
int num = 0;
char str[] = "12345678";
int i = 0;
while (str[i])
{
num = num * 10 + (str[i] - '0');
++i;
}
cout << "转换后的整形:" << num << endl;
system("pause");
return 0;
}
四.使用atoi将字符串转换为整形
//int atoi(const char * str);
//char* str 要转换的目标字符串
int main()
{
char str[] = "123456";
int num = atoi(str);
cout << "转换后的整形:" << num << endl;
system("pause");
return 0;
}