Search

string 소문자, 대문자 변환 방법

생성일
2023/02/14 14:55
태그
C++

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++
복사