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

本文介绍了在C++中如何实现整型与字符串之间的相互转换,包括使用标准库函数如atoi和itoa的方法,以及不依赖这些库函数的手动转换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.使用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;
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值