求子串

问题: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;
}

原文地址:https://www.cnblogs.com/xshang/p/3044354.html