Programming$

[c++] find 함수

ch4rli3kop 2017. 11. 3. 00:30
반응형

find 함수에 대하여 포스팅을 하려 한다. 먼저 find 함수가 어떤 일을 할 수 있는지 알아보겠다.


find 함수가 하는 일은 단순하다. 어떤 문자열에서 특정 문자(열)을 찾아 그 위치를 반환하는 녀석이다. 


첫 번째 사용 예로 


string str = "아무 문자열";

str.find("원하는 문자 혹은 문자열"); 


처럼 사용할 수 있다. 예시를 만들어 사용해보겠다.



위와 같이 코드를 한 번 짜보았다.



자 컴파일을 시킨 뒤 파일을 실행을 시켜보니,

첫 번째로는 'g' 가 문자열에서 위치하고 있는 곳을 0부터 센 결과인 6이,

두 번째로는 문자열에 위치하고 있는 'cdef' 의 시작 인덱스 값 2가 출력됨을 볼 수 있다.



두 번째 사용 예로는


string str = "아무 문자열";

str.find("원하는 문자 혹은 문자열" , startIndex); 


위와 같이 사용 가능하다. 여기서 startIndex 란 몇 번째 인덱스부터 참조하여 문자(열)을 찾을 지 정해주기 위한 값이 들어가는 자리이다. 이 역시 예를 보면 이해하기 쉬울 것이다.


str.find('g',7) 은 'g' 가 6번째에 존재함에도 불구하고 7번째부터 찾으므로 결코 원하는 결과를 얻을 수 없을 것이다. 이처럼 찾는 문자(열)이 기존 문자열 안에 존재하지 않을 경우에는 -1 을 리턴하는 한다.

저 18446744073709551615 라는 값은 2^64-1 값으로 -1과 동일한 값이다. 


반응형

'Programming$' 카테고리의 다른 글

string은 포인터가 아니라 레퍼런스로...  (0) 2017.11.03
[c++] 컴파일하기  (0) 2017.11.03
파일에 있는 값들을 읽고 배열에 저장하기  (0) 2017.10.22
[C++] Reference, 포인터  (0) 2017.10.12
[C++] getline 함수  (0) 2017.10.12