C++ 에서는 문자열의 특정 값을 찾기 위해 find라는 함수를 제공하고 있습니다.
find 함수
find 함수는 C++ 에서 문자열 내에 특정 문자가 있는지, 또는 특정 문자열이 포함되어 있는지를 확인하기 위해 사용됩니다.
find 함수는 찾고자 하는 문자나 문자열이 처음 등장하는 위치(인덱스)를 반환하며, 만약 찾지 못하면 string::npos 라는 특별한 값을 반환합니다.
- 문자열.find('찾을 단일문자')
- 값을 찾으면 처음 찾은 인덱스를 반환합니다.
- 값을 못찾으면 string::npos 를 반환합니다.
- 문자열.find("찾을 문자열")
- 값을 찾으면 처음 찾은 인덱스를 반환합니다.
- 값을 못찾으면 string::npos 를 반환합니다.
다음은 간단한 예제 코드입니다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, world!";
// 문자 찾기
int pos = str.find('w');
if (pos != string::npos) {
cout << "'w' 문자는 인덱스 " << pos << "에 있습니다." << endl;
} else {
cout << "'w' 문자는 문자열에 없습니다." << endl;
}
// 문자열 찾기
pos = str.find("world");
if (pos != string::npos) {
cout << "'world' 문자열은 인덱스 " << pos << "에 있습니다." << endl;
} else {
cout << "'world' 문자열은 문자열에 없습니다." << endl;
}
return 0;
}
반환결과는 다음과 같습니다.
'w' 문자는 인덱스 7에 있습니다.
'world' 문자열은 인덱스 7에 있습니다.
다음은 간단한 3 6 9 문제를 구현한 코드입니다.
#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
for(int i = 1; i <= t; i++){
string str = to_string(i);
if(str.find('3') != string::npos || str.find('6') != string::npos || str.find('9') != string::npos) {
for(int j = 0; j < str.size(); j++) {
if(str[j] == '3' || str[j] == '6' || str[j] == '9') {
cout << "-";
}
}
} else {
cout << i;
}
cout << " ";
}
}
'C++' 카테고리의 다른 글
c++ 문자열 추출하기 (0) | 2024.11.07 |
---|---|
c++ string 값 거꾸로 뒤집기 (0) | 2024.11.01 |
c++ a space is required between consecutive right angle brackets (use '> >')gcc 에러 해결 (0) | 2024.11.01 |
c++ 입출력 속도 향상시키기 (0) | 2024.10.31 |
C++ 키 입력받기, 값 출력하기 (0) | 2024.10.29 |