2012-08-26 2 views
1

char c가 문자열에없는 경우 어떤 문자가 반환 될까요? C++ 문서는 대개 가장 중요한 것을 말하지 않기 때문에 어디에서든지 설명 할 수 있습니다.C++에서 반환해야하는 string :: find (char c) 란 무엇입니까

편집 : 더 명확하게 : find는 우리가 찾고있는 문자의 색인을 반환하고, 문자 (문자)가 없으면 무엇을 반환합니까?

답변

9

std::string::npos. 그러나 일반적으로 std::find을 사용하는 것이 더 좋습니다. 이는 s.end()을 반환하고 반복자가 인덱스보다 우수하기 때문입니다.

+0

발견은 우리가 찾고있는 문자의 인덱스, 그것은이없는 어떤 경우를 반환? – Yoda

+0

@RobertKilar 대답은 말합니다 - 그것은'std :: string :: npos'의 값을 반환합니다 –

6

문자열에 문자가 없으면 특수 색인 값 std::string::npos이 반환됩니다.

size_t index = s.find(c); 
if (index == string::npos) 
    cout << "not found" << endl; 
else 
    cout << "found at " << index << endl; 

자세한 내용과 예제는 여기에서 찾을 수 있습니다 :

+0

http://jcatki.no-ip.org/fncpp/cplusplus.com –

+0

@ jons34yp 고맙습니다. 그 문제의. 내 대답을 편집하고 cppreference.com을 가리 키도록 링크를 변경했습니다. –