c++ string::rfind注释

string的rfind函数有4个重载版本:

string (1)
size_t rfind (const string& str, size_t pos = npos) const;
c-string (2)
size_t rfind (const char* s, size_t pos = npos) const;
buffer (3)
size_t rfind (const char* s, size_t pos, size_t n) const;
character (4)
size_t rfind (char c, size_t pos = npos) const;
现对其参数pos和n进行简单的解释
1、参数pos
其中的pos指的是首次匹配的起点,即从哪个位置开始比较。如

std::string strTest = "#aba#";

strTest.rfind("ab", 3);

那么会首先从第三个位置(位置从0开始)尝试和匹配“a#”,匹配失败后再向前匹配。最终匹配成功的位置为1.

若有

std::string strTest = "#abab";

strTest.rfind("ab", 3);

那么从第三个位置开始匹配,那么首次就可以匹配成功。最终匹配位置为3。


2、参数n

n指的是查找字符串的长度,即参数str或者s中的前n个字符。若指定了参数n,那么就只查找str或者s的前n个字符。如

std::string strTest = "#aba#";

strTest.rfind("abc", 3, 2);

那么会首先从第三个位置(位置从0开始)尝试以"abc"的前两个字符"ab"和“a#”匹配,首次匹配失败后,继续向前匹配。

最终在位置1匹配成功。






你可能感兴趣的:(c++ string::rfind注释)