string::npos (npos의 의미)
npos
•
npos : size_type 으로 정의된 특수값
static const size_type npos = -1;
C++
복사
string::npos는 -1값을 가지는 상수
find() 함수에 의해서 found 되지 못하는 경우 npos 값이 리턴
string::find, string::npos 단어 존재 여부 확인
string형의 데이터에서 어떤 단어가 존재하는지 찾을 때 find와 npos를 사용한다
find
•
문자열 앞에서부터 검색
•
검색 문자열이 시작되는 위치 반환
•
검색 문자열이 없으면 string::npos(4294967295) 반환
#include <string>
#include <iostream>
using namespace std;
int main() {
string s = "hello my name is jun";
if (s.find("me" == string::npos) {
cout << "X" << '\n';
}
else {
cout << "O" << '\n';
}
return 0;
}
C++
복사
•
s.find(”me”)
◦
s 라는 문자열에서 “me” 라는 문자 시작 위치를 찾는데, 만약 찾지 못하면 string::npos(-1)를 반환한다
•
즉, s.find(”me” == string::npos)의 경우, npos가 반환되었으므로 string s에 “me”가 없다는 뜻