源代码:
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);
本文介绍了两种在C++中实现字符串拆分的方法。一种是使用标准库中的stringstream结合getline函数,另一种是利用boost库的split函数进行更复杂的分隔符处理。通过实例演示了如何将带有特定分隔符的字符串拆分成vector容器。
2805

被折叠的 条评论
为什么被折叠?



