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);
    }

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

  • 相关阅读:
    立则存
    如何在UI控件上绑定一个变量
    欢迎大家使用www.eugene.org.cn访问我的blog
    属性与字段变量的区别
    在C#中联合Excel的Com编程入门
    我和我的土匪奶奶 全集 全 下载 txt
    大菲波数
    Hat's Fibonacci
    Fibonacci 取余,直接做超时
    How Many Fibs? 字符串转换处理
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4642189.html
Copyright © 2011-2022 走看看