substr是C++語言函數,主要功能是複製子字符串,要求從指定位置開始,並具有指定的長度。如果沒有指定長度_Count或_Count+_Off超出了源字符串的長度,則子字符串將延續到源字符串的結尾。——百度百科

在C ++中,substr()是用於字符串處理的預定義函數。string.h是字符串函數所需的頭文件。
此函數將兩個值pos和len作為參數,並返回一個新構造的字符串對象,其值初始化為該對象的子字符串的副本。從pos開始複製字符串,直到pos + len表示[pos,pos + len)為止。
重要事項:
第一個字符的索引為0(不是1)。
如果pos等於字符串長度,則該函數返回一個空字符串。
如果pos大於字符串長度,則拋出out_of_range。如果發生這種情況,則字符串中沒有任何更改。
如果對於所請求的子字符串len大於字符串的大小,則返回的子字符串為[pos,size())。
句法:
字符串substr(size_t pos,size_t len)const;

參數:
pos:要複製的第一個字符的位置。len:子字符串的長度。size_t:這是一個無符號整數類型。返回值:返回一個字符串對象。

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

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

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

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

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

每天學點小知識,希望對你有幫助~
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/221979.html
微信掃一掃
支付寶掃一掃