C++ 在向量中搜索字符串
我试图找到一种方法来搜索用户输入的字符串的向量。不知道怎么开始。找到字符串后,我必须删除其索引并打印索引中的其余字符串C++ 在向量中搜索字符串,c++,C++,我试图找到一种方法来搜索用户输入的字符串的向量。不知道怎么开始。找到字符串后,我必须删除其索引并打印索引中的其余字符串 void addNames(vector<string>& names) { names.push_back("Seppi"); names.push_back("Farrell"); names.push_back("Burton"); } void print(vector<string> names) { for (int i =
void addNames(vector<string>& names)
{
names.push_back("Seppi");
names.push_back("Farrell");
names.push_back("Burton");
}
void print(vector<string> names)
{
for (int i = 0; i < names.size(); i++)
{
cout << names[i] << endl;
}
}
int findName(vector<string> names, string nameToErase)
{
int return_value = -1;
names.find()
return return_value;
}
int main()
{
vector<string> names;
addNames(names);
string nameToErase;
cin >> nameToErase;
int indexFound = findName(names, nameToErase);
void addNames(向量和名称)
{
名称。推回(“Seppi”);
姓名。推回(“法雷尔”);
姓名。推回(“伯顿”);
}
无效打印(矢量名称)
{
对于(int i=0;i
}有std::find方法。
范例
#包括
#包括
#包含此方法有效
void findAndErase(vector<string> & names, string nameToErase) {
vector<string>::iterator pos = std::find(names.begin(), names.end(), nameToErase);
if (pos != names.end())
names.erase(pos);
}
void find并删除(向量和名称、字符串名称删除){
vector::iterator pos=std::find(names.begin()、names.end()、nametorease);
if(pos!=names.end())
名称。删除(pos);
}
谢谢你回复我。当我尝试你的示例时,我的编译器一直告诉我我是一个未声明的标识符?显示它说明了什么,哪一个:)。我已经粘贴了在我的计算机上运行的整个示例:)这里是std::vector的声明:迭代器i=std::find(v.begin(),v.end(),“BBBB1”);我在开头使用了名称空间std;,这是我的代码。向量迭代器I=find(v.begin(),v.end(),“AAAA”);@RobertWadowski您未能#包括#以及#包括
void findAndErase(vector<string> & names, string nameToErase) {
vector<string>::iterator pos = std::find(names.begin(), names.end(), nameToErase);
if (pos != names.end())
names.erase(pos);
}