2014-02-14 3 views
0

벡터를 통해 특정 문자열을 어떻게 검색합니까? 그 수색은 어떻게 되겠습니까?벡터에서 문자열을 찾으십니까?

이름을 검색 용 사용자 입력으로 설정하여 다음을 설정합니다.

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

어떤 값 찾기가 반환 될지 알 수 없으므로이를 bool 함수로 구현하는 방법을 잘 모르겠습니다.

기능

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

내가 그것을 비교할 수있는 방법에 대해 지금 많은 오류를 받고 있어요.

+1

흠을, 그 무엇 [문서] (HTTP : 당신은 많은 코드를 게시하지 않지만 경우에 대비하여 코드는 다음과 같습니다 // en.cppreference.com/w/cpp/algorithm/find)에 대한 것입니다. – jrok

+0

_ "찾을 수있는 값이 무엇인지 모르겠다"_ - [documentation] (http://en.cppreference.com/w/cpp/algorithm/find)를 참조하면 쉽게 해결할 수 있습니다. –

+0

std :: find는 반복자를 반환합니다 : std :: vector :: iterator, then 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 
} 
관련 문제