[코딩테스트/C++] string::find, string::npos 단어 존재 여부

Boramen·2024년 2월 1일
0

원래 코딩 테스트는 JS로 준비했었는데 이번에 C++로 문제 풀면서 발견한 문자열 함수

string 형의 데이터에서 어떤 단어가 존재하는지 찾을 때 findnpos를 사용한다.

find

  • 문자열 앞에서부터 검색, 검색 문자열이 시작되는 위치를 반환 함
  • 검색 문자열이 없으면 string::npos을 반환함 ( 처음에 string::npos가 있는지 몰르고 당연히 bool 값 반환할 줄 알았는데 아니였음)
  • 아래 예시의 경우 word 값이 "lo"인 경우도 !string::npos 로 반환됨.
#include <stdio.h>
#include <vector>

using namespace std;

int main()
{
	string word = "Hello";
    string sentense = " Hello World";
    
	if(string::npos != sentense.find(word))
    {
    	printf("있음");
    }
    else
    {
    	printf("없음");
    }
    
    
	return 0;
}
profile
Unreal Engine Developer

0개의 댓글