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);
}
如果存在相關問題,希望大家可以指點一二,謝謝!
轉載于:https://www.cnblogs.com/elninohjh/p/4642189.html
總結
以上是生活随笔為你收集整理的C++ 字符串编程训练1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 环氧树脂的用途视频(环氧树脂的用途)
- 下一篇: 安徽电信积分怎么兑换会员(安徽电信积分怎