整形、字符串相互转换---程序员面试宝典

一.使用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;
}
整形、字符串相互转换---程序员面试宝典_第1张图片

二.不使用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 << "逆序的字符串:"<= 0)
	{
		ppy[j] = str[i];
		--i;
		++j;
	}
	ppy[j] = 0;
	cout << "转换后的正确字符串:" << ppy << endl;
	system("pause");
	return 0;
}

整形、字符串相互转换---程序员面试宝典_第2张图片

三.不使用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;
}
整形、字符串相互转换---程序员面试宝典_第3张图片

四.使用atoi将字符串转换为整形

//int atoi(const char * str);
//char* str   要转换的目标字符串
int main()
{
	char str[] = "123456";
	int num = atoi(str);
	cout << "转换后的整形:" << num << endl;
	system("pause");
	return 0;
}
整形、字符串相互转换---程序员面试宝典_第4张图片

你可能感兴趣的:(程序员面试宝典,C++)