C++에서 소문자와 대문자 변환하기
문자열을 처리하는 과정에서 소문자를 대문자로, 또는 대문자를 소문자로 변환해야 하는 경우가 종종 있습니다. C++에서는 이러한 변환을 간편하게 할 수 있는 여러 방법이 있습니다. 이번 글에서는 C++에서 소문자를 대문자로, 대문자를 소문자로 변환하는 방법을 몇 가지 예제와 함께 설명하겠습니다.
`toupper`와 `tolower` 함수 사용
C++ 표준 라이브러리의 `<cctype>` 헤더에는 `toupper`와 `tolower`라는 두 가지 함수가 있습니다. 이 함수들은 각각 소문자를 대문자로, 대문자를 소문자로 변환하는 역할을 합니다.
`toupper` 함수
`toupper` 함수는 전달된 문자가 소문자일 경우 해당 대문자로 변환된 값을 반환합니다. 만약 이미 대문자거나 소문자가 아닌 문자가 전달되면, 원래 문자를 그대로 반환합니다.
#include <iostream>
#include <cctype>
int main() {
char lower = 'a';
char upper = std::toupper(lower);
std::cout << "소문자 " << lower << "의 대문자는 " << upper << "입니다." << std::endl;
return 0;
}
`tolower` 함수
`tolower` 함수는 전달된 문자가 대문자일 경우 해당 소문자로 변환된 값을 반환합니다. 만약 이미 소문자거나 대문자가 아닌 문자가 전달되면, 원래 문자를 그대로 반환합니다.
#include <iostream>
#include <cctype>
int main() {
char upper = 'A';
char lower = std::tolower(upper);
std::cout << "대문자 " << upper << "의 소문자는 " << lower << "입니다." << std::endl;
return 0;
}
문자열 전체 변환
문자 하나가 아닌 문자열 전체를 변환하려면 `for` 루프를 사용하여 문자열의 각 문자를 `toupper` 또는 `tolower` 함수에 전달하면 됩니다.
문자열을 대문자로 변환
#include <iostream>
#include <cctype>
#include <string>
int main() {
std::string str = "Hello, World!";
for (char& c : str) {
c = std::toupper(c);
}
std::cout << "대문자로 변환된 문자열: " << str << std::endl;
return 0;
}
문자열을 소문자로 변환
#include <iostream>
#include <cctype>
#include <string>
int main() {
std::string str = "Hello, World!";
for (char& c : str) {
c = std::tolower(c);
}
std::cout << "소문자로 변환된 문자열: " << str << std::endl;
return 0;
}
`std::transform` 함수 사용
C++11부터는 표준 라이브러리의 `std::transform` 함수를 사용하여 문자열을 더 간단하게 변환할 수 있습니다. 이 함수는 `<algorithm>` 헤더에 정의되어 있습니다.
문자열을 대문자로 변환
#include <iostream>
#include <algorithm>
#include <cctype>
#include <string>
int main() {
std::string str = "Hello, World!";
std::transform(str.begin(), str.end(), str.begin(), ::toupper);
std::cout << "대문자로 변환된 문자열: " << str << std::endl;
return 0;
}
문자열을 소문자로 변환
#include <iostream>
#include <algorithm>
#include <cctype>
#include <string>
int main() {
std::string str = "Hello, World!";
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
std::cout << "소문자로 변환된 문자열: " << str << std::endl;
return 0;
}
결론
이 글에서는 C++에서 소문자와 대문자를 변환하는 방법을 몇 가지 예제와 함께 살펴보았습니다. `toupper`와 `tolower` 함수를 사용하여 개별 문자를 변환하는 방법과, `for` 루프나 `std::transform` 함수를 사용하여 문자열 전체를 변환하는 방법을 배웠습니다. 이 방법들을 활용하면 문자열 처리를 더욱 효과적으로 할 수 있을 것입니다.
소문자와 대문자 변환은 문자열 처리에서 자주 필요한 작업이므로, 이러한 방법들을 잘 익혀두면 유용하게 사용할 수 있습니다.
'Programming' 카테고리의 다른 글
C++ Queue 사용법 (0) | 2024.07.03 |
---|---|
C++ Stack 사용법 (0) | 2024.07.03 |
Leetcode 알고리즘 스터디 (two sum) (0) | 2024.07.03 |
^M이 붙는 문제 해결하기 (0) | 2024.06.28 |
amixer 사용가능한 명령어 정보 확인 (0) | 2024.06.26 |