问题:STL学得真不过关啊 ,用到时就像不起来, while(cin.get(c))在结束时,先换行,即按下回车键,在按ctl+z键,代码是看了别人之后,自己重写的。
STL还是要好好学,真的很有用,可以吧复杂的问题变得简单。
代码:
#include <iostream> #include <vector> using namespace std; int main() { vector<char> s; char c; int beg,len; while(cin.get(c)) s.push_back(c); cout<<"please input the the position of the begin and length of the sub"<<endl; cin.clear(); cin>>beg>>len; if((len-beg)>s.size()||beg<0) cout<<"please input the right value"<<endl; vector<char>::iterator pos; for(pos=s.begin()+beg-1;pos!=s.begin()+beg+len-1;pos++) cout<<*pos; cout<<endl; }