将一组字符串转换为简单的字符串c ++

Ree*_*ult 3 c++ string set

我有一组字符串set<string> aSet.如何将集合转换为字符串a将所有元素用逗号分隔?谢谢!

mol*_*ilo 7

这是一个选项:

std::ostringstream stream;
std::copy(aSet.begin(), aSet.end(), std::ostream_iterator<std::string>(stream, ","));
std::string result = stream.str();
Run Code Online (Sandbox Code Playgroud)

  • 末尾会有一个逗号 (3认同)

eml*_*lai 6

这是简单易读的方式,没有任何花哨的东西:

string s;

for (auto const& e : aSet)
{
    s += e;
    s += ',';
}

s.pop_back();
Run Code Online (Sandbox Code Playgroud)


Sla*_*ica 5

累积示例具有将整数向量连接到字符串的代码,可以根据您的目的轻松转换:

std::string s = std::accumulate( std::begin(aSet), 
                                 std::end(aSet), 
                                 std::string{},
                                 [](const std::string& a, const std::string &b ) {
                                    return a.empty() ? b
                                           : a + ',' + b; } );
Run Code Online (Sandbox Code Playgroud)