最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ 中String 替換指定字符串的實例詳解

 更新時間:2017年08月28日 09:26:46   投稿:lqh  
這篇文章主要介紹了C++ 中String 替換指定字符串的實例詳解的相關資料,需要的朋友可以參考下

C++ 中String 替換指定字符串的實例詳解

C++的string提供了replace方法來實現(xiàn)字符串的替換,但是對于將字符串中某個字符串全部替換這個功能,string并沒有實現(xiàn),我們今天來做的就是這件事。

首先明白一個概念,即string替換所有字符串,將"12212"這個字符串的所有"12"都替換成"21",結果是什么?

可以是22211,也可以是21221,有時候應用的場景不同,就會希望得到不同的結果,所以這兩種答案都做了實現(xiàn),

代碼如下:

#include  <string>   
#include  <iostream>   
using  namespace  std;   
string&  replace_all(string&  str, const string& old_value, const string& new_value)   
{   
  while(true)  
  {   
    string::size_type  pos(0);   
    if(  (pos=str.find(old_value)) != string::npos  )   
     { 
   str.replace(pos,old_value.length(),new_value); 
 }  
    else { break; }
  }   
  return  str;   
}   

string&  replace_all_distinct(string&  str, const string& old_value, const  string&  new_value)   
{   
  for(string::size_type  pos(0);  pos!=string::npos;  pos+=new_value.length()) 
  {   
    if(  (pos=str.find(old_value,pos)) != string::npos  )   
     { 
   str.replace(pos,old_value.length(),new_value); 
 }  
    else { break; }  
  }   
  return  str;   
}   

int  main()   
{   
  cout  <<  replace_all(string("12212"),"12","21")  <<  endl;   
  cout  <<  replace_all_distinct(string("12212"),"12","21")  <<  endl;   
}   
/* 
輸出如下:  
22211  
21221 
*/ 

OK,這樣的話,任務就完成啦。

其實大家可能對本博經(jīng)常寫一些這樣的小程序不解,但是我總覺得,一些看起來微不足道的東西,往往在關鍵的時刻,影響你的效率或者業(yè)績,

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • C語言零基礎徹底掌握預處理上篇

    C語言零基礎徹底掌握預處理上篇

    在C語言的程序中包括各種以符號#開頭的編譯指令,這些指令稱為預處理命令。預處理命令屬于C語言編譯器,而不是C語言的組成部分,通過預處理命令可擴展C語言程序設計的環(huán)境
    2022-08-08
  • 用C語言實現(xiàn)猜數(shù)字游戲

    用C語言實現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細介紹了用C語言實現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • C語言從零探索函數(shù)的知識

    C語言從零探索函數(shù)的知識

    函數(shù)是一組一起執(zhí)行一個任務的語句。每個 C 程序都至少有一個函數(shù),即主函數(shù) main() ,所有簡單的程序都可以定義其他額外的函數(shù),讓我們一起來了解它
    2022-04-04
  • 利用C++實現(xiàn)獲取文件夾下所有文件名

    利用C++實現(xiàn)獲取文件夾下所有文件名

    這篇文章主要為大家詳細介紹了如何利用C++實現(xiàn)獲取文件夾下所有文件名,文中的示例代碼講解詳細,對我們學習C++有一定幫助,需要的可以參考一下
    2022-09-09
  • Qt讀寫XML文件的方法詳解(含源碼+注釋)

    Qt讀寫XML文件的方法詳解(含源碼+注釋)

    XML文件可以用來存儲項目中的數(shù)據(jù),它相當于一個簡單的數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關于Qt讀寫XML文件(含源碼+注釋)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • QT線程QThread的使用介紹

    QT線程QThread的使用介紹

    在進行桌面應用程序開發(fā)的時候,假設程序在某些情況要處理復雜邏輯, 如果一個線程去處理,就會導致窗口卡頓,無法處理用戶操作。這就需要使用多線程,其中一個線程處理窗口事件,其他線程進行邏輯運算,多個線程各司其職,不僅可以提高用戶體驗還可以提升程序的執(zhí)行效率
    2022-09-09
  • C++命名空間域的實現(xiàn)示例

    C++命名空間域的實現(xiàn)示例

    命名空間域就是一個獨立的空間外面不能直接調(diào)用該空間域只能用訪問限定符指定訪問該空間域,本文主要介紹了C++命名空間域的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • C++私有繼承與EBO深入分析講解

    C++私有繼承與EBO深入分析講解

    這篇文章主要介紹了C++私有繼承,在私有繼承當中,基類的公有成員和保護成員都會成為派生類的私有成員。這意味著基類的方法都會被private關鍵字描述,我們可以在派生類中使用它,但類對象無法直接調(diào)用,下面來看看詳細內(nèi)容吧
    2022-08-08
  • 基于C++實現(xiàn)去除字符串頭尾指定字符功能

    基于C++實現(xiàn)去除字符串頭尾指定字符功能

    編程時我們經(jīng)常需要對字符串進行操作,其中有一項操作就是去除字符串的頭(尾)指定的字符,比如空格。本文為大家詳細介紹了如何利用C++實現(xiàn)這一效果,需要的可以參考一下
    2022-04-04
  • c++實現(xiàn)獲取當前時間(精確至秒,毫秒和微妙)

    c++實現(xiàn)獲取當前時間(精確至秒,毫秒和微妙)

    這篇文章主要為大家詳細介紹了c++實現(xiàn)獲取當前時間(可以精確至秒,毫秒和微妙)的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下
    2023-11-11

最新評論

昭觉县| 繁峙县| 大田县| 虎林市| 连平县| 潼南县| 左贡县| 开鲁县| 隆德县| 辉南县| 枣庄市| 铅山县| 分宜县| 怀宁县| 会昌县| 凉山| 巩留县| 游戏| 吉木萨尔县| 贵南县| 申扎县| 马山县| 修水县| 喀喇| 丰台区| 贵溪市| 三门县| 海宁市| 集贤县| 屏南县| 达孜县| 遂溪县| 朝阳区| 兴海县| 德阳市| 大关县| 江孜县| 东阿县| 科技| 冕宁县| 丰城市|