指点的字符分隔字符串

/************************************************************************************** **参数: str_src 要被分隔的字符串 ** str_char 分隔字符串的字符 **输出 一个分隔完成的数组, **如 字符串 str_src = "d,kf,5,d4" str_char = "," 那么返回返回值是 d kf 5 d4 ** ***************************************************************************************/

std::vector split_str(const std::string& str_src, std::string str_char) { std::vector str_vec; std::string::size_type src_pos = 0; std::string::size_type dst_pos = 0; str_vec.clear();

dst_pos = str_src.find_first_of(str_char, src_pos);

        while (dst_pos != std::string::npos)
        {   
            if (dst_pos > src_pos)
            {   
                str_vec.push_back(str_src.substr(src_pos, dst_pos - src_pos));
            }   

            src_pos = dst_pos + 1;
            dst_pos = str_src.find_first_of(str_char, src_pos);
        }   

        if (src_pos < str_src.size())
        {   
            str_vec.push_back(str_src.substr(src_pos, str_src.size() - src_pos));
        }   
        
        return str_vec;
    }
相关文章
相关标签/搜索