How to implode a vector of strings into a string (the elegant way)
Solution 1:
Use boost::algorithm::join(..)
:
#include <boost/algorithm/string/join.hpp>
...
std::string joinedString = boost::algorithm::join(elems, delim);
See also this question.
Solution 2:
std::vector<std::string> strings;
const char* const delim = ", ";
std::ostringstream imploded;
std::copy(strings.begin(), strings.end(),
std::ostream_iterator<std::string>(imploded, delim));
(include <string>
, <vector>
, <sstream>
and <iterator>
)
If you want to have a clean end (no trailing delimiter) have a look here