函数实现:
#include "stdio.h"
#include "iostream"
#include "windows.h"
#include "vector"
#include "algorithm"
#include "iterator"
#include "string"
using namespace std;
int main()
{
vector<string> vec;
cout<<"----------------------------输入通讯人的信息:--------------------------------"<<endl;
copy(istream_iterator<string>(cin),istream_iterator<string>(),back_inserter(vec));
cin.clear();///////////////////清除状态
cout<<"----------------------------显示通讯人的信息:---------------------------------"<<endl;
copy(vec.begin(),vec.end(),ostream_iterator<string>(cout,"\n"));
cout<<"----------------------------请输入通讯人的名字进行查找:----------------------"<<endl;
string name;
cin>>name;
cout<<"----------------------------通讯录查找结果:----------------------------------"<<endl;
for (int i=0; i<vec.size(); i++)
{
string str=vec.at(i);
if (str.find(name)!=string::npos)
{
cout<<str<<endl;
}
}
system("pause");
return 0;
}
代码其实通俗易懂,主要就是copy算法结束输入时的ctrl+z需要用cin.clear来清除限制状态