전공/C++
[C++] string 관련 함수
erin0
2022. 7. 7. 20:36
# find
string.find(char, int)
string.find(string, int)
string.find(char)
string.find(string)
#include <iostream>
#include <string>
using namespace std;
int main() {
string s; //input string
int num[26] = { 0, }; //알파벳 26자 표현하기 위해 int배열로 선언하기, 전부 0으로 초기화
cin >> s;
for (int i = 0; i < 26; i++) {
int n;
n = s.find((char)97 + i); //int 97부터 97+26까지 char로 변환하며 검색(==알파벳 a부터x)
if (n != string::npos) { //찾으려는 문자가 있는경우 첫번째 인덱스 위치 저장
num[i] = n;
}
else //찾으려는 문자가 없는 경우 -1 저장
num[i] = -1;
}
for (int i = 0; i < 26; i++) {
cout << num[i] << " ";
}
}
string.find(char,int); //string의 int번째 문자에서부터 char를 찾아 첫번째 인덱스 출력
string.find(char); //string에서 char를 찾아 가장 처음에 있는 글자의 인덱스 출력한다.
string에 찾으려는 문자가 없다면 std::string::npos를 반환한다.
위의 코드는 using namespace std;를 해주어서 찾으려는 문자가 없는지 string::npos로 확인했다.