본문 바로가기
프로그래밍/c++

string join 문자열 합치기

by 긱플레이어 2018. 3. 9.


boost join 라이브러리 사용


std::vector<std::string> list;

list.push_back("Hello");

list.push_back("World!");

std::string joined = boost::algorithm::join(list, ", ");


결과 : "Hello, World!"



std 사용


std::vector<std::string> list;

list.push_back("Hello");

list.push_back("World!");

std::string delimiter = ", ";


이렇게?

std::accumulate(list.begin(), list.end(), string(),

    [&delimiter](const std::string& lhs, const std::string& rhs) {

        return lhs + delimiter + rhs;

    });


이렇게?

std::string resultStr;

std::for_each(list.begin(), list.end(),

    [&resultStr, &delimiter](const std::string& elem) {

        if (resultStr.empty())

            resultStr += elem;

        else

            resultStr += delimiter + elem;

    });


결과 : "Hello, World!"

댓글