#include<iostream>
#include<vector>
#include<sstream>
using namespace std;
int main()
{
string s;
vector<int> v;
cin >> s;
//将读入的字符串转化成is流
istringstream is(s);
int inter;
char ch;
while (is >> inter)//只能读出is流中的一个整形读进inter
{
v.push_back(inter);
is >> ch;//然后读一个字符型读进ch
}
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
return 0;
}
输入123,456,789,147,258,369
输出123 456 789 147 258 369
输入123a456b789c
输出123 456 789
输入123,456.789a147
输出123 456 789 147
输入123 456 789
输出123
解释:因为s读取的时候碰到123就停止了,所以s实际上只是123,相应的is流也是123,故读取进向量vertor中的也只有123

本文介绍了一个使用C++从字符串中读取整数,并将其存储到向量中的方法。通过istringstream类,实现了字符串流的转换,能够忽略非数字字符,仅提取整数值。此代码适用于需要从复杂文本中抽取数字数据的场景。
2304

被折叠的 条评论
为什么被折叠?



