[C++] char 배열을 string으로 변환

문자열 데이터가 있는 char 배열을 string으로 변환하는 방법을 소개합니다.

1. string 생성자를 이용한 방법

string 객체를 생성할 때, 생성자에 char 배열을 입력하면, 그 문자열로 초기화가 됩니다.

#include <iostream>
#include <string>

int main() {
    char arr[] = {'H', 'e', 'l', 'l', 'o'};

    std::string str(arr);
    std::cout << str << std::endl;

    return 0;
}

Output:

Hello

2. string 변수에 직접 할당하는 방법

string 객체를 선언할 때 char 배열을 할당하면, 그 문자열로 string 객체 초기화 및 생성합니다.

#include <iostream>
#include <string>

int main() {
    char arr[] = {'H', 'e', 'l', 'l', 'o'};

    std::string str = arr;
    std::cout << str << std::endl;

    return 0;
}

Output:

Hello

3. for문으로 문자열을 추가하는 방법

아래와 같이 char 배열에 대해서 반복문으로 순회하면서 모든 문자를 string에 추가할 수 있습니다. 이렇게 char 배열을 string 객체로 변환할 수 있습니다.

#include <iostream>
#include <string>

int main() {
    char arr[] = {'H', 'e', 'l', 'l', 'o'};
    int size = sizeof(arr) / sizeof(char);

    std::string str = "";
    for (int i = 0; i < size; i++) {
        str = str + arr[i];
    }

    std::cout << str << std::endl;

    return 0;
}

Output:

Hello
Loading script...
codechachaCopyright ©2019 codechacha