📅  最后修改于: 2023-12-03 15:29:52.180000             🧑  作者: Mango
在 C++ 中,我们可以使用 std::字符串::rfind 函数来查找字符串中最后一个匹配给定字符串的位置。
size_t rfind(const string& str, size_t pos = npos) const noexcept;
如果找到子字符串,则返回其在空间中最后出现的位置。
如果找不到子字符串,则返回 std::string::npos。
#include <iostream>
#include <string>
int main()
{
std::string str = "Hello World!";
std::string search_str = "o";
std::size_t pos = str.rfind(search_str);
if(pos != std::string::npos)
{
std::cout << "Found at position: " << pos << std::endl;
}
else
{
std::cout << "Not found!" << std::endl;
}
return 0;
}
以上述代码为例,我们使用 std::string::rfind 查找字符串 "o" 在 "Hello World!" 中最后一次出现的位置。
代码输出:
Found at position: 8
使用 std::字符串::rfind 函数,我们可以方便地查找字符串中最后一个匹配给定字符串的位置。请注意,该函数返回 std::string::npos 表示查找失败时,npos 是一个 static 类型的常量,等于字符串的最大长度。