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

淺談C++中replace()方法

 更新時間:2015年11月10日 13:29:10   作者:glp_hit  
C++編程語言中的string應用方式多樣化,每一種應用方式都能幫助我們提實現(xiàn)特定的功能需求。在這里我們將會為大家詳細介紹一下其中一個比較重要的用法,有關C++ replace()函數(shù)的應用方式,需要的朋友可以參考下

本文主要針對c++中常用replace函數(shù)用法給出九個樣例程序:

用法一: 

/*
 *用str替換指定字符串從起始位置pos開始長度為len的字符 
 *string& replace (size_t pos, size_t len, const string& str); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 line = line.replace(line.find("@"), 1, ""); //從第一個@位置替換第一個@為空 
 cout << line << endl; 
 return 0; 
} 

運行結(jié)果:

用法二: 

/*
 *用str替換 迭代器起始位置 和 結(jié)束位置 的字符 
 *string& replace (const_iterator i1, const_iterator i2, const string& str); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 line = line.replace(line.begin(), line.begin()+6, ""); //用str替換從begin位置開始的6個字符 
 cout << line << endl; 
 return 0; 
} 

運行結(jié)果:

用法三: 

/*
 *用substr的指定子串(給定起始位置和長度)替換從指定位置上的字符串 
 *string& replace (size_t pos, size_t len, const string& str, size_t subpos, size_t sublen); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 string substr = "12345"; 
 line = line.replace(0, 5, substr, substr.find("1"), 3); //用substr的指定子串(從1位置數(shù)共3個字符)替換從0到5位置上的line 
 cout << line << endl; 
 return 0; 
} 

運行結(jié)果:

用法四:string轉(zhuǎn)char*時編譯器可能會報出警告,不建議這樣做 

/*
 *用str替換從指定位置0開始長度為5的字符串 
 *string& replace(size_t pos, size_t len, const char* s); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 char* str = "12345"; 
 line = line.replace(0, 5, str); //用str替換從指定位置0開始長度為5的字符串 
 cout << line << endl; 
 return 0; 
} 


運行結(jié)果:

用法五:string轉(zhuǎn)char*時編譯器可能會報出警告,不建議這樣做 

/*
 *用str替換從指定迭代器位置的字符串 
 *string& replace (const_iterator i1, const_iterator i2, const char* s); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 char* str = "12345"; 
 line = line.replace(line.begin(), line.begin()+9, str); //用str替換從指定迭代器位置的字符串 
 cout << line << endl; 
 return 0; 
} 

運行結(jié)果:

用法六:string轉(zhuǎn)char*時編譯器可能會報出警告,不建議這樣做 

/*
 *用s的前n個字符替換從開始位置pos長度為len的字符串 
 *string& replace(size_t pos, size_t len, const char* s, size_t n); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 char* str = "12345"; 
 line = line.replace(0, 9, str, 4); //用str的前4個字符替換從0位置開始長度為9的字符串 
 cout << line << endl; 
 return 0; 
} 

運行結(jié)果:

用法七:string轉(zhuǎn)char*時編譯器可能會報出警告,不建議這樣做 

/*
 *用s的前n個字符替換指定迭代器位置(從i1到i2)的字符串 
 *string& replace (const_iterator i1, const_iterator i2, const char* s, size_t n); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 char* str = "12345"; 
 line = line.replace(line.begin(), line.begin()+9, str, 4); //用str的前4個字符替換指定迭代器位置的字符串 
 cout << line << endl; 
 return 0; 
} 

運行結(jié)果:

用法八: 

/* 

*用重復n次的c字符替換從指定位置pos長度為len的內(nèi)容 
 *string& replace (size_t pos, size_t len, size_t n, char c); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 char c = '1'; 
 line = line.replace(0, 9, 3, c); //用重復3次的c字符替換從指定位置0長度為9的內(nèi)容 
 cout << line << endl; 
 return 0; 
} 

運行結(jié)果:

用法九: 

/*
 *用重復n次的c字符替換從指定迭代器位置(從i1開始到結(jié)束)的內(nèi)容 
 *string& replace (const_iterator i1, const_iterator i2, size_t n, char c); 
 */ 
int main() 
{ 
 string line = "this@ is@ a test string!"; 
 char c = '1'; 
 line = line.replace(line.begin(), line.begin()+9, 3, c); //用重復3次的c字符替換從指定迭代器位置的內(nèi)容 
 cout << line << endl; 
 return 0; 
} 


運行結(jié)果:

注:所有使用迭代器類型的參數(shù)不限于string類型,可以為vector、list等其他類型迭代器。

相關文章

  • C++實現(xiàn)簡單的HTTP服務器

    C++實現(xiàn)簡單的HTTP服務器

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡單的HTTP服務器的相關資料,感興趣的朋友可以參考下
    2016-05-05
  • C++簡明分析inline函數(shù)的使用

    C++簡明分析inline函數(shù)的使用

    inline是C++關鍵字,在函數(shù)聲明或定義中,函數(shù)返回類型前加上關鍵字inline,即可以把函數(shù)指定為內(nèi)聯(lián)函數(shù)。這樣可以解決一些頻繁調(diào)用的函數(shù)大量消耗??臻g(棧內(nèi)存)的問題
    2022-07-07
  • 深入理解c語言數(shù)組

    深入理解c語言數(shù)組

    這篇文章主要介紹了c語言數(shù)組,有需要的朋友可以參考一下
    2013-12-12
  • 利用C語言編輯畫圖程序的實現(xiàn)方法(推薦)

    利用C語言編輯畫圖程序的實現(xiàn)方法(推薦)

    下面小編就為大家?guī)硪黄肅語言編輯畫圖程序的實現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 基于Qt的TCP實現(xiàn)通信

    基于Qt的TCP實現(xiàn)通信

    這篇文章主要為大家詳細介紹了基于Qt的TCP實現(xiàn)通信,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • c語言如何設置隨機數(shù)及逐行解析

    c語言如何設置隨機數(shù)及逐行解析

    在C語言中,rand()函數(shù)可以用來產(chǎn)生隨機數(shù),但是這不是真真意義上的隨機數(shù),是一個偽隨機數(shù),下面這篇文章主要給大家介紹了關于c語言如何設置隨機數(shù)及逐行解析的相關資料,需要的朋友可以參考下
    2022-11-11
  • C++學習之多態(tài)的使用詳解

    C++學習之多態(tài)的使用詳解

    這篇文章主要為大家詳細介紹了C++中多態(tài)的機制以及使用,文中的示例代碼講解詳細,對我們學習C++有一定的幫助,感興趣的可以了解一下
    2022-06-06
  • c語言中數(shù)組名a和&a詳細介紹

    c語言中數(shù)組名a和&a詳細介紹

    其實這兩個東西挺難理解的,應該也沒有那么重要,了解一下好了,主要還是要多多理解數(shù)組指針的運算
    2013-08-08
  • C語言 二級指針詳解及示例代碼

    C語言 二級指針詳解及示例代碼

    本文主要介紹C語言 二級指針,這里整理了C語言中二級指針的基礎資料并附有示例代碼和實現(xiàn)結(jié)果,幫助大家學習理解相關知識,有學習的朋友可以參考下
    2016-08-08
  • C語言 完整游戲項目坦克大戰(zhàn)詳細代碼

    C語言 完整游戲項目坦克大戰(zhàn)詳細代碼

    《坦克大戰(zhàn)》以二戰(zhàn)坦克為題材,既保留了射擊類游戲的操作性,也改進了射擊類游戲太過于復雜難玩的高門檻特點,集休閑與競技于一身。經(jīng)典再度襲來,流暢的畫面,瘋狂的戰(zhàn)斗,讓玩家再次進入瘋狂坦克的世界。玩家的目標是控制坦克躲避危險,消滅掉所有的敵人即可進入下一關
    2021-11-11

最新評論

桐城市| 灵宝市| 惠来县| 红安县| 越西县| 福海县| 于都县| 孟津县| 鄢陵县| 岑溪市| 江安县| 巨鹿县| 从化市| 青铜峡市| 桃源县| 奈曼旗| 文昌市| 胶州市| 娱乐| 绥化市| 武鸣县| 绥芬河市| 高唐县| 随州市| 龙江县| 湖口县| 延川县| 荣昌县| 哈巴河县| 布拖县| 大宁县| 文安县| 米泉市| 磐石市| 岳阳市| 靖远县| 余庆县| 云林县| 漳州市| 浏阳市| 浦县|