c에서는 어떻게 단어를 찾았을까.
보통 c에서는 단어를 찾을 경우에 strcmp 함수를 이용하는 경우가 많다.
1
2
3
4
5
6
|
if (!strcmp(str1, str2)) {
return 0;
}
else {
return 1;
}
|
cs |
이러한 경우는 char * 형을 사용하기 떄문에 c언어에서는 아주 유용하게 사용하고 있는 함수 중 하나일 것이다.
그럼 C++에서는 어떨까요.
특히, c++에서는 문자열을 char *형이 아닌 string 형을 쓰는 경우가 편하게 때문에 다른 방법이 필요할 것이다.
하지만, 오랜 역사로 인한 풍부한 라이브러리로 인해서 문자열을 찾는 방법은 당연히 존재한다.
1
2
3
4
5
|
string str = “hello world”;
if (str.find(“world”) == string::npos) {
cout << “true”;
}
|
cs |
역시나 굉장히 간단하다.
위에서 사용한 함수는 다음과 같다.
string::find // 이것은 찾는 문자열의 첫번째 인덱스를 반환하는 함수이다.
string::npos // 찾는 문자열이 없는 경우에는 string::npos를 반환한다.
출처: https://msdn.microsoft.com
공감 버튼은 저에게 큰 힘이 됩니다. 한번씩 꾸욱 눌러주시면 감사하겠습니다.
'프로그래밍 > C || CPP' 카테고리의 다른 글
[C++11] std::set 을 알아보자. (0) | 2018.04.29 |
---|---|
[C++] 키워드 constexpr 알아보기 (5) | 2018.04.23 |
[C & C++] if 앞 조건문이 false 경우, 뒷 조건문은 실행할까? (1) | 2017.11.24 |
const 멤버 함수와 비 const 멤버 함수 정리 (3) | 2017.09.14 |
[C/C++] 전처리기 (0) | 2017.06.20 |
댓글