Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 단일 문자를 문자열로 변환하는 3가지 방법

C++에서 단일 문자(char)를 문자열(string)로 변환해야 하는 경우가 종종 있습니다. 다행히 이를 수행하는 방법은 여러 가지가 있으며, 각각의 상황과 선호도에 따라 적절한 방식을 선택할 수 있습니다.

이 글에서는 대표적인 세 가지 방법을 예제 코드와 함께 살펴보겠습니다.

예제 코드

#include <iostream>
#include<string>
#include<sstream>

int main() {
    char c = 'm';

    std::string s(1, c);
    std::cout << "Using string constructor : " << s << '\n';

    std::string s2;
    std::stringstream s1;
    s1 << c;
    s1 >> s;
    std::cout << "Using string stream : " << s << '\n';

    s2.push_back(c);
    std::cout << "Using string push_back : " << s2 << std::endl;

    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

Using string constructor : m
Using string stream : m
Using string push_back : m

방법별 설명

1. string 생성자 사용

가장 간결하고 널리 쓰이는 방법입니다. std::string의 생성자는 첫 번째 인자로 반복 횟수, 두 번째 인자로 문자를 받아 해당 문자가 반복되는 문자열을 생성합니다. 문자 하나를 변환할 때는 반복 횟수를 1로 지정하면 됩니다.

std::string s(1, c);

2. stringstream 사용

문자열 스트림을 활용하는 방법입니다. stringstream에 문자를 삽입(<<)한 뒤, 다시 문자열 변수로 추출(>>)하여 변환합니다. 숫자나 여러 타입의 데이터를 문자열로 조합할 때도 유용하게 활용됩니다.

std::string s2;
std::stringstream s1;
s1 << c;
s1 >> s;

3. push_back 함수 사용

빈 문자열 객체에 push_back() 함수로 문자를 직접 추가하는 방식입니다. 기존 문자열의 끝에 문자를 덧붙일 때도 자주 사용되며, 직관적이라 가독성이 좋습니다.

s2.push_back(c);

마무리

세 가지 방법 모두 동일한 결과를 출력하지만, 일반적으로는 string 생성자를 사용하는 방법이 가장 간단하고 효율적이어서 권장됩니다. stringstream은 복잡한 형식 변환이 필요할 때, push_back은 기존 문자열에 문자를 추가할 때 활용하면 좋습니다.