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-tw/n/221979.html
微信掃一掃
支付寶掃一掃