c++ 字符串分割成数组

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


using namespace std;  


//splitString函数的参数说明:  
//返回值是分割后字符串数组大小  
//strSrc 原始字符串  
//strDelims 自定义的分割字符串的分割数组  
//strDest 分割后的字符串数组,引用传递  


int  splitString(const string & strSrc, const std::string& strDelims, vector<string>& strDest)  
{  
typedef std::string::size_type ST;  
string delims = strDelims;  
std::string STR;  
if(delims.empty()) delims = "/n/r";  


ST pos=0, LEN = strSrc.size();  
while(pos < LEN ){  
STR="";   
while( (delims.find(strSrc[pos]) != std::string::npos) && (pos < LEN) ) ++pos;  
if(pos==LEN) return strDest.size();  
while( (delims.find(strSrc[pos]) == std::string::npos) && (pos < LEN) ) STR += strSrc[pos++];  
//std::cout << "[" << STR << "]";  
if( ! STR.empty() ) strDest.push_back(STR);  
}  
return strDest.size();  
}  


int main()  
{  
string testStr = "提供关于_开发业 界,软件业界,-移动业界,云计算业界的权威报道,为业界产 品经理,业界开发 者,";  
string delims = ",- _ ,,"; //定义分割数组,可以定义多个分隔符,如" ,./r"等  
vector<string> splitStrs; //把分割后的字符串存在vector里面  
splitString(testStr,delims, splitStrs); //调用自定义的分割函数  


//显示分割后的字符串数组(用vector存储)  
vector<string>::iterator iter;  
for (iter = splitStrs.begin(); iter != splitStrs.end(); ++iter) {  
cout << "|" << *iter << "|/n";  
}  


splitStrs.clear();  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值