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使用方法类似。

你可能感兴趣的:(C/C++基础)