字符串按照字符进行截取

实际使用字符串,常常需要根据制定的格式拼好字符串,然后按照实际反向再解析获取字符串。例如:

string str = "00001|00009|00015" 需要分别得到:char arStr[] = {"00001", "00009", "00015"},需要一个算法来实现这种字符串的截取,如下是我写的一个实现代码

//将item 按照字符 ch进行截取成几个字符串,并保存到v 中
template <typename T> 
void Split(const char *item, char ch, vector<T> &v)
{
    const char *pcPos1 = item;
    const char *pc_Pos2 = item;
    const char *pEnd  = item + strlen(item);

    int iLen = 0;
    while (pc_Pos2<pEnd)
    {
        if (*pc_Pos2 == ch)
        {
            iLen = pc_Pos2 - pcPos1;
            if (iLen > 0)
            {
                string str(pcPos1, iLen);
                const char *pStr = str.c_str();
                v.push_back(atoi(pStr));

            }
            pcPos1 = pc_Pos2 + 1;

        }
        ++pc_Pos2;
    }

    iLen = pEnd - pcPos1;
    if (iLen > 0)
    {
        string str(pcPos1, iLen);
        const char *pStr = str.c_str();
        v.push_back(atoi(pStr));
    }
}

 

转载于:https://www.cnblogs.com/mmhh001/archive/2012/12/26/2834638.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值