C++ find函數(shù)

2023-03-20 15:55 更新

apstring類(lèi)還提供了其他幾個(gè)可以在字符串上調(diào)用的函數(shù)。find函數(shù)的意義看起來(lái)與[]操作符相反。不同于接收索引值然后提取索引值對(duì)應(yīng)的字符,find函數(shù)接收一個(gè)字符然后找到字符相應(yīng)的索引。

apstring fruit = "banana";
int index = fruit.find(’a’);

上面例子的功能是找出字符串中字母‘a(chǎn)’的索引。在這個(gè)例子中,字母‘a(chǎn)’出現(xiàn)了三次,所以find該如何處理并不是顯而易見(jiàn)的。根據(jù)文檔,它返回第一次出現(xiàn)處的索引,所以結(jié)果是1。如果字符串中不存在給定字母,find函數(shù)返回-1。

此外,find還有一個(gè)版本,它接收另一個(gè)apstring作為參數(shù),找到參數(shù)表示的子串在原字符串中出現(xiàn)位置的索引。例如:

apstring fruit = "banana";
int index = fruit.find("nan");

這個(gè)例子的返回值為2。

讀者應(yīng)該還記得,在5.4節(jié)中我們提到過(guò)可以存在多個(gè)同名函數(shù),只要它們的參數(shù)數(shù)目或類(lèi)型不同。這個(gè)例子中,C++可以根據(jù)提供參數(shù)的類(lèi)型確定調(diào)用find的哪個(gè)版本。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)