본문 바로가기
Programming

C++ 대문자/소문자 변환하기

by 느리게 걷는 즐거움 2024. 7. 3.
반응형

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