string 소문자, 대문자 변환 방법
•
아스키코드 값을 이용하여 변환
•
대분자 A : 65
•
소문자 a : 97
→ 두 값의 차이 : 32
소문자 변환 1
대문자 → 소문자 : 32를 더해주면 된다.
string str = 'ABC';
for (int i = 0; i < str.size(); i++) {
if ('A' <= str[i] && str[i] <= 'Z') {
str[i] += 32;
}
}
C++
복사
소문자 변환 2
A ~ Z : 65 ~ 96
1000001 ~ 1011111
OR 하는 수 32는 0100000이므로 더하는 것과 같은 효과가 있다.
string str = 'ABC';
for (char& ch : str) {
if ('A' <= ch && 'Z' >= ch) {
ch |= 32;
}
}
C++
복사
대문자 변환
반대로 빼주면 된다
string str = 'ABC';
for (int i = 0; i < str.size(); i++) {
str[i] -= 32;
}
C++
복사
c++ string 소문자, 대문자 변환
tolower, toupper
소문자로 변환 (tolower)
for (int i = 0; i < str.size(); i++) {
str[i] = tolower(str[i]);
}
C++
복사
대문자로 변환 (toupper)
for (int i = 0; i < str.size(); i++) {
str[i] = toupper(str[i]);
}
C++
복사