场景:
1.在存储数据时有时接口需要合并字符串值,并以某些特殊字符来合并部分,到需要的时候再分割它。如一些数值,人名等。
2.C++有strtok,stringstream和find函数来实现分割。可以根据情况调用。
void SplitWithFlag(const char* str1,char c,std::vector<std::string>& arr)
{
std::stringstream ss(str1);
string str;
while(getline(ss,str,c))
{
arr.push_back(str);
}
}
20150709:增加模板方式实现
template<class T,typename C>
std::vector<T> SplitChar(T& str,C c)
{
std::vector<T> temp;
typedef std::basic_stringstream<C, std::char_traits<C>,std::allocator<C> > mstringstream;
mstringstream mss;
mss << str;
T s;
while(getline(mss,s,c))
{
temp.p

本文介绍了在C++中如何使用stringstream、strtok和find函数进行字符串分割,适用于需要将合并的字符串以特定字符拆分的场景。文中还提及在20150709增加了模板方式的实现,提供了调用示例。
订阅专栏 解锁全文
1979

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



