正文

for循環(huán)、字符串與數(shù)組(8)

通過游戲編程實(shí)戰(zhàn)教新手學(xué)C++編程 作者:(美)Michael Dawson


3.3.8  使用erase()成員函數(shù)

erase()成員函數(shù)從string對(duì)象中移除指定的子字符串。調(diào)用該成員函數(shù)的一個(gè)方法是指定子字符串的起始位置和長度,如下面的代碼所示:

phrase.erase(4, 5);

此行代碼移除了從位置4開始的長度為5個(gè)字符的子字符串。因?yàn)閜hrase為"Lame Over!!!",所以該成員函數(shù)移除子字符串"Over",結(jié)果phrase變成了"Lame!!!"。

調(diào)用erase()的另一種方法是只提供子字符串的起始位置。這種方法將把從指定的起始位置開始到string對(duì)象結(jié)尾的全部字符都刪除。代碼如下所示:

phrase.erase(4);

此行代碼移除string對(duì)象中從位置4開始的全部字符。因?yàn)閜hrase為"Lame!!!",該成員函數(shù)將子字符串!!!移除,最后phrase變成"Lame"。

還有一種調(diào)用erase()的方法是不提供實(shí)參,如下面這行代碼所示:

phrase.erase();

此行代碼刪除phrase中的所有字符。因此,phrase成為了空字符串" "。

3.3.9  使用empty()成員函數(shù)

empty()成員函數(shù)返回bool型值,如果string對(duì)象為空,則返回true,否則返回false。下面的代碼使用了empty():

if (phrase.empty())

{

cout << "\nThe phrase is no more.\n";

}

因?yàn)閜hrase等于空字符串,所以phrase.empty()返回true,且屏幕顯示消息“The phrase is no more.”


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)