C/C++編程筆記:C++中的substr()函數(shù),教你具體使用方法

substr是C++語言函數(shù),主要功能是復制子字符串,要求從指定位置開始,并具有指定的長度。如果沒有指定長度_Count或_Count+_Off超出了源字符串的長度,則子字符串將延續(xù)到源字符串的結(jié)尾?!俣劝倏?/p>
在C ++中,substr()是用于字符串處理的預定義函數(shù)。string.h是字符串函數(shù)所需的頭文件。
此函數(shù)將兩個值pos和len作為參數(shù),并返回一個新構(gòu)造的字符串對象,其值初始化為該對象的子字符串的副本。從pos開始復制字符串,直到pos + len表示[pos,pos + len)為止。
重要事項:
第一個字符的索引為0(不是1)。
如果pos等于字符串長度,則該函數(shù)返回一個空字符串。
如果pos大于字符串長度,則拋出out_of_range。如果發(fā)生這種情況,則字符串中沒有任何更改。
如果對于所請求的子字符串len大于字符串的大小,則返回的子字符串為[pos,size())。
句法:
字符串substr(size_t pos,size_t len)const;?參數(shù):
pos:要復制的第一個字符的位置。len:子字符串的長度。size_t:這是一個無符號整數(shù)類型。返回值:返回一個字符串對象。

輸出:字符串是:ook
應用范圍:
1、如何在字符后獲取子字符串?
在此字符串和字符被給定,并且您必須打印子字符串,后跟給定的字符。
提取字符串“ dog:cat”中“:”之后的所有內(nèi)容。

輸出:字符串是:cat
2、程序打印給定字符串的所有子字符串(代碼可以自己敲出來運行一下)
方法1:給定一個字符串作為輸入。
我們需要編寫一個程序,以打印該給定字符串的所有非空子字符串。
我們可以運行三個嵌套循環(huán),最外面的循環(huán)選擇起始字符,中循環(huán)將選擇的字符右邊的所有字符視為子字符串的結(jié)束字符。最里面的循環(huán)從當前選擇的起點打印字符到選擇的終點。?

大家可以試一下輸出是個什么樣子。
方法2:(使用substr()函數(shù))?
s.substr(i,len)從字符串s中的索引i開始打印長度為len的子字符串。

方法3:(使用先前的子字符串生成子字符串)

方法4:(使用三個嵌套循環(huán))

每天學點小知識,希望對你有幫助~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:

編程學習視頻分享:
