C++ split基本操作

源代碼: 

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);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章