728x90
string :: operator[ ]
string의 pos 위치 문자에 대한 Ref를 반환합니다
아래 예제 코드와 같이 s[j] 에서 s 값의 j번째 위치 문자를 배열처럼 접근하여 반환할 수 있습니다
int main() {
cin >> n;
for(int i=0 ; i<n ; i++){
string s;
cin >> s;
ret = "";
for(int j=0 ; j<s.size() ; j++){
if(s[j] < 65) ret += s[j];
else if(ret.size()) go();
}
if(ret.size()) go();
}
string :: at( )
operator와 같이 특정 위치의 문자를 얻어낼 수 있습니다
다만 at 멤버 함수는 pos가 문자열 내 유효한 위치인지 판단해 그렇지 않은 경우 out of range 에러를 발생시킵니다
아래 예제 코드와 같이 operator와 같은 기능을 가지면서 에러 처리가 가능합니다
int main() {
string s = "Nero Blog";
try{
cout << s.at(10) << '\n';
} catch (exception e){
cout << e.what() << '\n';
}
return 0;
}
string :: front( )
문자열의 첫 문자를 알아낼 수 있습니다
빈 문자열에서 호출은 불가능하며, c++ 11 이상부터 지원합니다
begin() 함수는 iterator를 반환하므로 front()와 차이가 있습니다
아래 예제 코드와 같이 char 포인터를 반환하여 이를 이용해 맨 앞의 문자를 변경할 수 있습니다
int main() {
string s = "Nero Blog";
cout << s.front() << '\n';
// 맨 앞의 문자를 F로 변경할 수 있음
s.front() = 'F';
cout << s << '\n';
return 0;
}
참조 : https://cplusplus.com/reference/string/string/