亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談C++中replace()方法

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

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

用法一: 

/*
 *用str替換指定字符串從起始位置pos開始長(zhǎng)度為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, ""); //從第一個(gè)@位置替換第一個(gè)@為空 
 cout << line << endl; 
 return 0; 
} 

運(yùn)行結(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個(gè)字符 
 cout << line << endl; 
 return 0; 
} 

運(yùn)行結(jié)果:

用法三: 

/*
 *用substr的指定子串(給定起始位置和長(zhǎng)度)替換從指定位置上的字符串 
 *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個(gè)字符)替換從0到5位置上的line 
 cout << line << endl; 
 return 0; 
} 

運(yùn)行結(jié)果:

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

/*
 *用str替換從指定位置0開始長(zhǎng)度為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開始長(zhǎng)度為5的字符串 
 cout << line << endl; 
 return 0; 
} 


運(yùn)行結(jié)果:

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

/*
 *用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; 
} 

運(yùn)行結(jié)果:

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

/*
 *用s的前n個(gè)字符替換從開始位置pos長(zhǎng)度為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個(gè)字符替換從0位置開始長(zhǎng)度為9的字符串 
 cout << line << endl; 
 return 0; 
} 

運(yùn)行結(jié)果:

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

/*
 *用s的前n個(gè)字符替換指定迭代器位置(從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個(gè)字符替換指定迭代器位置的字符串 
 cout << line << endl; 
 return 0; 
} 

運(yùn)行結(jié)果:

用法八: 

/* 

*用重復(fù)n次的c字符替換從指定位置pos長(zhǎng)度為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); //用重復(fù)3次的c字符替換從指定位置0長(zhǎng)度為9的內(nèi)容 
 cout << line << endl; 
 return 0; 
} 

運(yùn)行結(jié)果:

用法九: 

/*
 *用重復(fù)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); //用重復(fù)3次的c字符替換從指定迭代器位置的內(nèi)容 
 cout << line << endl; 
 return 0; 
} 


運(yùn)行結(jié)果:

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

相關(guān)文章

  • Qt模仿實(shí)現(xiàn)文字浮動(dòng)字母的效果

    Qt模仿實(shí)現(xiàn)文字浮動(dòng)字母的效果

    這篇文章主要介紹了通過Qt實(shí)現(xiàn)的文字浮動(dòng)的效果,效果很簡(jiǎn)單就是文本向上移動(dòng),在移動(dòng)過程中文字整體變大或縮小。感興趣的可以試一試
    2022-01-01
  • socket編程之bind()函數(shù)使用示例詳解

    socket編程之bind()函數(shù)使用示例詳解

    這篇文章主要為大家介紹了socket編程之bind()函數(shù)使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • C++使用cjson操作Json格式文件(創(chuàng)建、插入、解析、修改、刪除)

    C++使用cjson操作Json格式文件(創(chuàng)建、插入、解析、修改、刪除)

    本文主要介紹了C++使用cjson操作Json格式文件(創(chuàng)建、插入、解析、修改、刪除),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 深入理解C/C++混合編程

    深入理解C/C++混合編程

    本篇文章是對(duì)C/C++混合編程進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言斷言函數(shù)assert()的學(xué)習(xí)筆記

    C語言斷言函數(shù)assert()的學(xué)習(xí)筆記

    在C語言庫(kù)函數(shù)中提供了一個(gè)輔助調(diào)試程序的小型庫(kù),它是由assert()宏組成,本文就詳細(xì)的介紹了一下如何使用,感興趣的可以了解一下
    2021-11-11
  • 簡(jiǎn)單談?wù)凜++ 中指針與引用

    簡(jiǎn)單談?wù)凜++ 中指針與引用

    下面用通俗易懂的話來概述一下,指針-對(duì)于一個(gè)類型T,T*就是指向T的指針類型,也即一個(gè)T*類型的變量能夠保存一個(gè)T對(duì)象的地址,而類型T是可以加一些限定詞的,引用-引用是一個(gè)對(duì)象的別名,主要用于函數(shù)參數(shù)和返回值類型,符號(hào)X&表示X類型的引用。
    2015-09-09
  • C++實(shí)現(xiàn)稀疏矩陣的壓縮存儲(chǔ)實(shí)例

    C++實(shí)現(xiàn)稀疏矩陣的壓縮存儲(chǔ)實(shí)例

    本篇文章主要介紹了C++實(shí)現(xiàn)稀疏矩陣的壓縮存儲(chǔ)實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 利用C語言編寫“剪刀石頭布”小游戲

    利用C語言編寫“剪刀石頭布”小游戲

    這篇文章主要給大家介紹了關(guān)于如何利用C語言編寫“剪刀石頭布”小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C++詳細(xì)講解引用類型

    C++詳細(xì)講解引用類型

    引用指的是對(duì)一個(gè)對(duì)象的引用。那么什么是對(duì)象?在c++中狹義的對(duì)象指的是用類,結(jié)構(gòu),聯(lián)合等復(fù)雜數(shù)據(jù)類型來聲明的變量,如?MyClass?myclass,CDialog?mydlg,等等
    2022-07-07
  • C語言連續(xù)生成多個(gè)隨機(jī)數(shù)實(shí)現(xiàn)可限制范圍

    C語言連續(xù)生成多個(gè)隨機(jī)數(shù)實(shí)現(xiàn)可限制范圍

    這篇文章主要介紹了C語言連續(xù)生成多個(gè)隨機(jī)數(shù)實(shí)現(xiàn)可限制范圍,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論