2014-02-14 52 views
0

如何通过矢量搜索特定的字符串?那搜索会返回什么?在矢量中搜索字符串?

我设置以下名称作为搜索的用户输入。

find(user_list.begin(), user_list.end(), name) 

我不知道如何实现这个到一个布尔函数,因为我不知道什么值查找将返回。

功能是

bool BBoard::user_exists(const string &name, const string &pass) const{} 

,我得到了很多的错误,现在它是如何不能比的。

+1

嗯,这就是[文件](HTTP:// en.cppreference.com/w/cpp/algorithm/find)。 – jrok

+0

_“我不知道find会返回什么值”_ - 可以通过引用[documentation](http://en.cppreference.com/w/cpp/algorithm/find)轻松解决。 –

+0

std :: find返回迭代器:std :: vector :: iterator,则if(res_itr!= user_list.end()){std :: cout << * res_itr; } – marcinj

回答

2

find函数返回一个迭代器,该迭代器指向您的user_list中匹配的第一个条目。你不要张贴了大量的代码,但如果你的代码如下所示:

#include <vector> 
#include <string> 
#include <algorithm> 

std::vector<std::string> user_list; 

然后你可以使用find如下:

std::vector<std::string>::iterator i = find(user_list.begin(), 
    user_list.end(), name) 
if (i == user_list.end()) { 
    // Not found 
} else { 
    // Found, *i is your string 
}