zoukankan      html  css  js  c++  java
  • C++ 字符串编程训练1

    最近又到了找工作的时间,所以想每天抽点时间出来对编程进行相关训练。C++字符串是一个很重要的知识点,采用STL、算法等C++优于C的方面,能够使问题解决起来更加轻松。以下程序都是自己写的,可能有些地方时间效率、空间效率不高,所以希望大家能够多多讨论交流,互相提升。

    题目:删除子串

    说明:给定两个形参str和substr,其中str为源字符串,substr为需要删除的子串,如果str中包含substr,则将其删除并输出新的字符串,否则输出源字符串。

    void delete_substr(string &str,const string &substr)
    {
         int m=0;    //用于作为是否找到substr的标识
         int flag=0;  //退出循环的标志,这是因为可能在str中存在多个substr
         while(flag==0)
         {
            m=str.find(substr);   //find函数的使用
            if(m<0)
            {
              flag=1;     //用于退出循环
              cout<<str;
            }
            else
           {
             str.erase(m,substr.size());   //目标是substr出现的地址,substr.size()表示从该地址开始需要删除的内容长度
           }
        }
    }

    int main()
    {
       string str,substr;
       getline(cin,str);
       getline(cin,substr);
       delete_substr(str,substr);
    }

    如果存在相关问题,希望大家可以指点一二,谢谢!

  • 相关阅读:
    【学习笔记】数据库设计那些事
    django rest-farme-work 的使用(3)
    django rest-farme-work 的使用(2)
    docker 的安装
    中国电信线CTF线下选拨writeup
    django rest-farme-work 的使用(1)
    谈谈python里面关于任务队列
    kubernetes 部署
    凯撒密码的加密解密
    Linux 密码的暴力破解
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4642189.html
Copyright © 2011-2022 走看看