Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在向量中搜索字符串_C++ - Fatal编程技术网

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);
}