C++的string中的数字怎么提取?
1个回答
展开全部
#include <string>
#include <vector>
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
string str("1+24+31*4-6");
size_t idx = 0;
while((idx = str.find_first_of("+-*/", idx)) != string::npos)
str.replace(idx, 1, " ");
istringstream iss(str);
vector<int> v;
copy(istream_iterator<int>(iss), istream_iterator<int>(), back_inserter(v));
for(idx = 0; idx < v.size(); ++idx)
cout << v[idx] << ' ';
return 0;
}
#include <vector>
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
string str("1+24+31*4-6");
size_t idx = 0;
while((idx = str.find_first_of("+-*/", idx)) != string::npos)
str.replace(idx, 1, " ");
istringstream iss(str);
vector<int> v;
copy(istream_iterator<int>(iss), istream_iterator<int>(), back_inserter(v));
for(idx = 0; idx < v.size(); ++idx)
cout << v[idx] << ' ';
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询