C++中的string類提供了rfind()方法用于在字符串中從后向前查找指定子字符串的位置。可以通過該方法來快速查找字符串中最后一次出現某個子字符串的位置。
例如,假設我們有一個字符串str,我們想要查找字符串中最后一次出現子字符串"abc"的位置,可以使用以下代碼:
#include <iostream>
#include <string>
int main() {
std::string str = "abcabcabc";
std::size_t found = str.rfind("abc");
if (found != std::string::npos) {
std::cout << "Last occurrence found at position: " << found << std::endl;
} else {
std::cout << "Substring not found" << std::endl;
}
return 0;
}
在上面的代碼中,rfind()方法返回最后一次出現子字符串"abc"的位置,并將其賦值給變量found。如果找到了子字符串,則輸出其位置;否則輸出"Substring not found"。
需要注意的是,如果未找到指定的子字符串,則rfind()方法會返回std::string::npos,因此我們可以使用這個值來判斷是否找到了子字符串。