C++字符串分割

函数设计时,可将多个参数通过分隔符连接成为一个参数传入,这样可减少函数的入参数字。函数内部需要对传入的合并参数进行分割,获取需要的参数即可。

/****************************************************************************
函数名称: iMystrtok
函数功能: 根据sFlg分割sData
*****************************************************************************/
long iMystrtok(string sData, string sFlg, vector<string> &vStr)
{
    if (sData.empty())
    {
        return 0;
    }
    vStr.clear();
    size_t uiOffset = 0, uiPos = 0;
    uiPos = sData.find(sFlg, uiOffset);
    while (uiPos != string::npos)
    {
        vStr.push_back(sData.substr(uiOffset, uiPos-uiOffset));
        uiOffset = uiPos + sFlg.size();
        uiPos = sData.find(sFlg, uiOffset);
    }
    vStr.push_back(sData.substr(uiOffset, sData.length() - uiOffset));    
    return 0;
}

例如:

string TestString = string("2019|hello|world");

vector<string> sTmp;

iMystrtok(TestString, "|", sTmp);

cout<<sTmp[0]<<endl;

cout<<sTmp[1]<<endl;

cout<<sTmp[2]<<endl;

输出为:

2019

hello

world

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值