#include <iostream>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iterator>
using namespace std;
int main(int argc, char *argv[])
{
vector<int> uin;
for (int i = 0; i < 10; i++) {
uin.push_back(i);
}
std::ostringstream stream;
std::copy(uin.begin(), uin.end(), std::ostream_iterator<int>(stream, "_"));
std::string s = stream.str();
s.resize(s.length() - 1);
cout<<s<<endl;
return 0;
}
编译输出:
0_1_2_3_4_5_6_7_8_9
#include <iostream>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iterator>
using namespace std;
string vector2str(const vector<unsigned int> &uin, const string& split)
{
if (uin.empty()) return "";
std::ostringstream stream;
std::copy(uin.begin(), uin.end(), std::ostream_iterator<unsigned int>(stream, split.c_str()));
std::string str = stream.str();
str.resize(str.length() - split.size()); //去掉最后一个分隔符
return str;
}
int main(int argc, char *argv[])
{
vector<unsigned int> uin;
for (unsigned int i = 0; i < 10; i++) {
uin.push_back(i);
}
std::string outstr = vector2str(uin, "$_$");
cout << outstr << endl;
return 0;
}