[C++] 대문자, 소문자 변환

leeact·2023년 6월 7일
1

c++ 정리

목록 보기
12/13
post-thumbnail

아스키 코드

아스키코드에서 'A'는 65, 'a'는 97로 둘의 차이는 32가 발생한다.
다른 알파벳 역시 모두 32의 차이를 갖고 있으므로 우리는 32를 더하거나 빼기를 통해
대문자 또는 소문자로 변환할 수 있다.

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	char str = 'A';
	cout << char(str + 32);

	string str2 = "ABC";
	for (auto& ch : str2) {
		ch += 32;
		cout << ch;
	}

	return 0;
}

tolower, toupper

아스키코드를 이용하지 않고 간단하게 함수를 통해 구현할 수 있다.
tolower(), toupper()로 바꿀 문자를 넣어주기만 하면 끝!

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	char str = tolower('A');
	cout << str;

	string str2 = "ABC";
	for (auto& ch : str2) {
		ch = tolower(ch);
		cout << ch;
	}

	return 0;
}

2개의 댓글

comment-user-thumbnail
2023년 6월 7일

왜 C++은 이렇게 아스키코드에 집착하는걸까요

1개의 답글