源代码:
void _split(const string &s, char delim, vector<string> &elems)
{
stringstream ss(s);
string item;
while (getline(ss, item, delim))
{
elems.push_back(item);
}
}
vector<string> split(const string &s, char delim)
{
vector<string> elems;
_split(s, delim, elems);
return elems;
}
使用:
string s0 = "/mnt/sdcard/";
s0.append("robot.name");
vector<string> vec = split(s0, '/');
--------------------------------------------------------------------更新 2019-12-16 -----------------------------------------------------------------------------
使用C++ boost 的split函数:
引入头文件:
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
demo使用:
string s0 = "mnt/sdcard/123.zip"
vector<string> vec;
boost::split(vec, s0, boost::is_any_of("/"), boost::token_compress_on);