我有一组字符串set<string> aSet
。如何将集合转换为字符串a将所有元素用逗号分隔?谢谢!
答案 0 :(得分:5)
这是一个选项:
std::ostringstream stream;
std::copy(aSet.begin(), aSet.end(), std::ostream_iterator<std::string>(stream, ","));
std::string result = stream.str();
答案 1 :(得分:1)
accumulate example具有将int的向量连接到字符串的代码,可以根据您的目的轻松转换:
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; } );
答案 2 :(得分:0)
这里有简单易懂的方式,没有任何花哨的东西:
string s;
for (auto const& e : aSet)
{
s += e;
s += ',';
}
s.pop_back();