블로그 이미지
그만봐!! 붉은 기타

카테고리

만땅보기 (6)
넋두리 (0)
PC 팁 (3)
MFC 팁 (2)
하진이 이야기 (0)
이것저것 (0)
Total14,334
Today0
Yesterday0
MFC를 사용하다 보면 CString을 많이 사용하게 된다.. 역시 배운지 얼마 안된지라 편하면 무조건 우

선적으로 선택하게 된다는.. ㅋㅋㅋ

CString은 문자열을 다룰때 매우 편리한 기능이 많다..

그중 문자열에서 원하는 문자를 찾아낼 수 있는 멤버함수를 알아보자~!!!

먼저 CString을 초기화를 하고 Find라는 멤버함수를 쳐보자..

CString str = "abcd";

int n = str.Find("c");

대충 위의 예제를 보면 어떻게 돌아가는 것인지 짐작이 될것이다..

위와 같이 하면 n에는 2라는 값이 들어갈 것이다.. 바로 "c"의 위치인 2를 반환하는 것이다.

찬찬히 부분동작으로 알아보자!!!

1. CString 초기화~!!

2. Find함수는
int형으로 return하니 return받을 int형 변수를 준비하자!!

3. Find함수를 사용하여 찾을 문자를 인수로 던져주자!!

4. int형 변수를 보며 정확히 가져온것인지 보고 잘했으면 CString을 칭찬해주자!!!


여기서 만약에 "abcdabcd"라는 문자열에서 두번째 a를 찾고 싶다면 다음과 같이 해보자...

CString str = "abcdabcd";

int n = str.Find("a", str.Find("a")+1);

보다시피 Find의 두번째 인수는 문자열에서 문자와 비교를 시작할 위치를 지정해주는 것이다!!

위 동작을 자세히 뜯어보면은...

먼저 CString변수인 str에서 Find함수의 첫번째 인수인
"a"를 찾으려 한다..

이때 Find함수의 두번째 인수로
str.Find("a")+1 들어간다. 여기서 먼저 str에서 첫번째 "a"의 위치

를 찾아 반환하며, 뒤에 붙은
+1로 인해 첫번째 a의 위치 바로 뒤를 지정하게 된다..

이로 인해 우리는 간단히
두번째 a
를 찾아볼 수 있는 것이다..!!!!!

Find함수를 쓰면서 다시 한번 CString의 편리성에 이 초보자는 감격한다.. ㅋㅋ

머.. 돌아다니다보니 형변환시에나 릴리즈 버전으로 작업시 문제점이 있다지만.. 그래도 초보한테는

쓰기 편하면 장땡이라는 안일한 생각을 해본다.. ㅋㅋ
Posted by 붉은 기타

최근에 달린 댓글

최근에 받은 트랙백

글 보관함