参考来源:http://www.cplusplus.com/reference/string/string/rfind/
对于 rfind 中的 pos 参数的说法是 pos 是搜索的最后的位置(即截止位置)
string str ("The sixth sick sheik's sixth sheep's sick.");
string key ("sixth");
str.rfind (key, 3 ) // -1
以上结果还能解释的通,即查找的截止字符串是"The " 这个子串
str.rfind (key, 4 ) // 4
这个结果就不知道如何出来的了, 查找的截止字符串不是"The s", 没有找到 key 才对啊???
1
RecursiveG 2015-09-11 11:56:01 +08:00
"*begin* at or before position pos"
只要开头 index 小于等于 pos 即可 |
2
sakeven 2015-09-11 11:59:51 +08:00
应该是指 key 的第一个字符可以出现的最后位置。
Position of the last character in the string to be considered as the beginning of a match. |
3
tesion99 OP @RecursiveG :这个意思是说搜索 从 0 <= index <=pos;
一下是 find 的说法: When pos is specified, the search only includes characters at or after position pos, ignoring any possible occurrences that include characters before pos. find 是从 pos<= index 开始检索的 |