std::string 字符串分割

#include <iostream>
#include <string>
#include <vector>

std::vector<std::string> vStringSplit(const  std::string& s, const std::string& delim=",")
{
    std::vector<std::string> elems;
    size_t pos = 0;
    size_t len = s.length();
    size_t delim_len = delim.length();
    if (delim_len == 0) return elems;
    while (pos < len)
    {
        int find_pos = s.find(delim, pos);
        if (find_pos < 0)
        {
            elems.push_back(s.substr(pos, len - pos));
            break;
        }
        elems.push_back(s.substr(pos, find_pos - pos));
        pos = find_pos + delim_len;
    }
    return elems;
}
void test() {
    auto res=vStringSplit("a,b,c");
    for(int i=0;i<res.size();i++) {
        std::cout<<res[i]<<std::endl;
    }
}
原文地址:https://www.cnblogs.com/smallredness/p/11178063.html