在ASCII码中,数字0-9被存储于48~57,利用这个思路,可以实现字符到int型的转换。

例如 char a='1';

int b=a-48;

所以代码如下:

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
	vector<int>a;
	string str;
	getline(cin, str);
	int temp = 0;
	for (int i = 0; i != str.size(); ++i)
	{
		if (isdigit(str[i]))
		{
			temp =temp* 10 + (str[i] - 48);
		}
	
		else
		{
			a.push_back(temp);
			temp = 0;

		}
		if (i == (str.size() - 1)) {
			a.push_back(temp);
		}
	}
	for (auto i : a)
	{
		cout << i<< endl;
	}
}



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐