C++(rfind())

rfind 是 C++ 标准库中字符串类(例如 std::string)提供的成员函数之一。它用于在字符串中从后往前搜索指定子字符串,并返回找到的最后一个匹配的位置(索引)。如果未找到匹配,它返回 std::string::npos,这是一个常量,表示没有找到匹配。

rfind 的原型如下:

size_t rfind(const std::string& str, size_t pos = npos) const noexcept;

这个函数接受两个参数:

  • str:要搜索的子字符串。
  • pos:可选参数,指定开始搜索的位置。默认值是 npos,表示从字符串的末尾开始搜索。

使用示例:

#include <iostream>
#include <string>

int main() {
    std::string text = "Hello, World! Hello, Universe!";

    // 从字符串末尾开始查找 "Hello"
    size_t foundPos = text.rfind("Hello");
    
    if (foundPos != std::string::npos) {
        std::cout << "Last occurrence of 'Hello' found at position: " << foundPos << std::endl;
    } else {
        std::cout << "'Hello' not found in the string." << std::endl;
    }

    return 0;
}

在上述示例中,rfind 函数用于查找字符串中最后一次出现子字符串 "Hello" 的位置。如果找到了,它会返回最后一次出现的位置;否则,返回 std::string::npos。在实际应用中,rfind 可以用于从字符串中查找特定子字符串的最后一次出现位置。



posted @ 2024-01-29 15:59  做梦当财神  阅读(1011)  评论(0编辑  收藏  举报