기타/C++ 문법
<find> 문자열 안에 문자/문자열 찾기
배발자
2022. 1. 13. 16:55
반응형
find 코딩테스트에서 정말 많이 쓰이는 함수이다.
어떠한 문자 또는 문자열을 찾기 위해서 for문을 돌려가며 체크를 무식하게 해왔던 기억이 있다.
그렇게 하지말고 find 함수를 사용하여 쉽게 check 를 할 수 있다.
다음 코드를 보면서 find를 이해하고 문법을 바로 사용할 수 있을 정도로 익히자
*추가적으로 s.find("hi", 5) ; 라고 적혀있으면 "hi"라는 문자열을 s라는 문자열 5번째 위치부터 찾겠다는 뜻.
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "himynameis";
cout << " 인덱스 번호 \n";
for (int i = 0; i < s.size(); i++) cout << i << " ";
cout << "\n";
for (int i = 0; i < s.size(); i++) cout<< s[i] << " ";
cout << "\n";
cout << s.find('i')<<"\n";//i가 2개지만 제일 먼저 찾아지는 인덱스 반환
cout << s.find("name")<<"\n";//해당 문자열이 있다면 제일 앞부분 인덱스 반환
cout << s.find('z')<<"\n"; //해당 문자가 없으면 쓰레기값 반환
if (s.find('z') == string::npos) {//다음과 같이 구현
cout << "해당문자 없음" << "\n";
}
}
반응형