首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

[]一个字符串流的有关问题

2012-02-27 
[求助]一个字符串流的问题我想达到这样一个功能,在一个字符串流里把所有的数字都挑出来C/C++ code#include

[求助]一个字符串流的问题
我想达到这样一个功能,在一个字符串流里把所有的数字都挑出来

C/C++ code
#include <iostream>#include <sstream>#include <vector>using namespace std;int main(){    string sval="alkjd1l2k3jl1k23jl1k23123kl1j23lk12j3l1k23j1l2k3j1l2k3j1l23kj";        istringstream strin(sval);        vector<int> ivec;    int a;        while (in>>a,!eof())    {          //if (...)          // 这里的代码应该是修复流的吧,我不知道,这个流能不能修复           //....          else          ivec.push_back(a);   //如果输入成功,就给它压到ivec里面;    }        for (int i=0; i<ivec.size(); ++i)    cout <<vec[i]<<endl;        system("pause");    return 0;}


[解决办法]
完全可以实现

C/C++ code
#include <iostream>#include <sstream>#include <vector>using namespace std;int main(){    string sval="alkjd1l2k3jl1k23jl1k23123kl1j23lk12j3l1k23j1l2k3j1l2k3j1l23kj";        istringstream strin(sval);        vector<int> ivec;    int a;        while (strin>>a,!strin.eof())    {          if (!strin.good())          {              strin.clear();              strin.ignore();              continue;          }           //这里的代码应该是修复流的吧,我不知道,这个流能不能修复           //....          else          ivec.push_back(a);   //如果输入成功,就给它压到ivec里面;    }        for (int i=0; i<ivec.size(); ++i)    cout <<ivec[i]<<endl;        system("pause");    return 0;} 

热点排行