반응형
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 |