字符串与整数之间的互换

#include
#include
using namespace std;

void int2string(int number,char *string2)//把数字变成字符串
{
	
	char string[100];
	int i = 0;
	int j = 0;
	bool is_ = false; //是不是负数
	while (i<100) //初始化
	{
		string2[i++] = 0;
	}
	i = 0;
	if (number<0)
	{
		number = 0 - number;
		is_ = true;
	}
	while (number%10>0)
	{
		int n = number % 10;
		number = number / 10;
		string[i++] = n + '0';
	}
	string[i] = '\0';
	
	i = i - 1;
	if (is_)
	{
		string2[j++] = '-';
	}
	while (i>=0) //此处不能写为string[i]
	{
		string2[j++] = string[i--];
	}
	

}
void string2int(char *s,int &number)//字符串转换为整数
{
	number = 0;
	bool is_ = false;//是否为负数
	if (s==NULL)
	{
		cout << "字符串为空" << endl;
		return;
	}
	int i = 0;
	if (s[0]=='-')
	{
		is_ = true;
		i++;
	}
	while (s[i])
	{
		if ('0'<=s[i]&&s[i]<='9')
		{
			number = number * 10 + s[i] - '0';
		}
		else
		{
			cout << "字符串不是整数" << endl;
			return;
		}
		i++;
	}
	if (is_)
	{
		number = -number;
	}

}
int main()
{
	int number = 1234567;
	char string[100] = {0};

	_itoa_s(number, string, 10);//itoa说是过时了。。。
	cout << string << endl;
	_itoa_s(number, string, 2); //二进制数
	cout << string << endl;
	int2string(-123456, string);
	cout << string << endl;
	string2int(string, number);
	cout << number << endl;;
	return 0;
}

你可能感兴趣的:(C++)