PLyuan
PLyuan
采纳率100%
2015-04-12 06:38

C++ 中的字符串 怎么让它遇到分号就 截取一段出来

已采纳

一个字符串,怎么让它遇到分号就 截取一段出来出来?

例如:str = “abc@163.com;def@163.com;ghi@163.com;”
一次循环截取获得:abc@163.com
第二次循环获得:def@163.com
第三次循环获得:ghi@163.com

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • PLyuan PLyuan 6年前
    我的问题已经解决了,感谢大家的帮助。
        以下是我自己写的代码,请大家多多指教;
    
    
        int bj=0;
        int ej=0;
        while(ej = str.find(";",bj))
        {
            if (ej<1)
            {
                break;
            }
            string tempCCre = str.substr(bj,ej-bj);
    
            //这里添加处理的代码,tempCCre就是获得的子串;
    
            bj = ej+1;
            ej = 0;
        }
    
    点赞 2 评论 复制链接分享
  • Cashey1991 开水 6年前
    #include <iostream>
    using namespace std;
    
    int main()
    {
        char str[] = "abc@163.com;def@163.com;ghi@163.com;";
        char tmpstr[128] = "";
    
        char *p = str;
        char *ptmp = tmpstr;
    
        while (*p != '\0')
        {
            if (*p == ';')
            {
                *ptmp = '\0';
                ptmp = tmpstr;
    
                // 这里写你的处理逻辑 
                printf("%s\n", tmpstr);
    
            }
            else
            {
                *ptmp++ = *p;
            }
    
            p++;
        }
    
        return 0;
    }
    
    

    还有其他办法,比如用string类的find和substr组合,那个你自己搜吧。

    点赞 评论 复制链接分享
  • autocyz autocyz 6年前

相关推荐