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匹配成功。






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值