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

std::vectorstd::string split_str(const std::string& str_src, std::string str_char) { std::vectorstd::string 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;

}

/************************************************************************************** **函数功能: 将vector 存放的字符串拼串在一起每个字符串用指定的字符分隔 和上面示例功能相反 ** 参数: str_src 要被分隔的字符串 ** str_char 分隔字符串的字符 ** 输出: 一个分隔完成的数组, **如 字符串 str_src = "d,kf,5,d4" str_char = "," 那么返回返回值是 d kf 5 d4 ** ***************************************************************************************/ int vec_to_str_bychar(const std::vectorstd::string & str_vec, std::string & str_dst, std::string str_char) { str_dst.clear();

unsigned int vec_size =  str_vec.size();
if (0 == vec_size)
{
    return 0;
}

for (unsigned int i = 0; i < vec_size; i++)
{
    str_dst += str_vec[i];
    str_dst += str_char;
}

str_dst.erase(str_dst.size() - str_char.size(), str_char.size());
return 0;

}