본문 바로가기
C++ 200제/코딩 IT 정보

MFC 문자 찾기 함수 Find(), ReverseFind() (문자열에서 문자 찾기)

by vicddory 2017. 6. 17.

MFC 문자 찾기 함수 Find(), ReverseFind() (문자열에서 문자 찾기)


MFC 문자 찾기 함수 Find(), ReverseFind() (문자열에서 문자 찾기)


문자열에서 원하는 문자를 찾으려면 Find와 ReverseFind함수를 사용하면 됩니다. 간단한 예제를 보죠.


1
2
3
4
5
6
7
CString target("");
char tok = '_';
int index = 0;
 
target = "MFC_cstring_example";
 
index = target.Find(tok);
cs


찾기 성공 : 문자 위치 (인덱스) 반환

찾기 실패 : -1 반환

7번 라인 : target 문자열에서 '_' 언더바를 찾아 인덱스를 반환합니다.


MFC Find 결과


근데, 왼쪽, 즉 앞에서 찾는 게 아니라 뒤에서 찾고 싶다면? 그땐 ReverseFind()란 함수를 사용하면 됩니다.


MFC ReverseFind 결과


결과가 다르죠?


그리고, 조금 응용을 해보죠. 찾고 싶은 문자가 아니라 여러 개라면 아래처럼 문자 배열을 만들어 사용할 수 있습니다.


1
2
3
4
5
6
7
8
CString target("");
char tok[3= { '_''/''=' };
int index[3= { 0, };
 
target = "MFC_EXAM/PLE=FUNNY";
 
for (int i = 0; i < 3; i++)
    index[i] = target.Find(tok[i]);
cs


[결과]


MFC Find 배열 결과


다 찾았네요. 만약 못 찾으면 -1을 반환하니 참고하세요.


MFC 문자 찾기 함수 Find(), ReverseFind() (문자열에서 문자 찾기)

댓글