C++string中的查找函數find與find_first_of函數的區別

string (1)  
size_t find_first_of (const string& str, size_t pos = 0) const noexcept;
c-string (2)    
size_t find_first_of (const char* s, size_t pos = 0) const;
buffer (3)  
size_t find_first_of (const char* s, size_t pos, size_t n) const;
character (4)   
size_t find_first_of (char c, size_t pos = 0) const noexcept;

find_first_of函數:在母串上從指定位置開始查找,如果遇到的字符與目標串中任意字符相同,則查找成功,返回該字符的位置。

string (1)  
size_t find (const string& str, size_t pos = 0) const noexcept;
c-string (2)    
size_t find (const char* s, size_t pos = 0) const;
buffer (3)  
size_t find (const char* s, size_t pos, size_type n) const;
character (4)   
size_t find (char c, size_t pos = 0) const noexcept;

find函數:在母串上從指定位置開始,查找字符或字符串。當查找字符串時,要保證目標串爲母串的子串。下面是cplusplus.com中的描述:

Notice that unlike member find_first_of, whenever more than one character is being searched for, it is not enough that just one of these characters match, but the entire sequence must match.

注:rfind與find使用方法類似;find_last_of、find_first_not_of、find_last_not_of與find_first_of使用方法類似。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章