legongju.com
我们一直在努力
2025-01-14 19:50 | 星期二

c++ string类的查找功能如何使用

C++中的std::string类提供了几种查找功能,包括find(), rfind(), find_first_of(), find_last_of()等。下面是这些函数的简单介绍和示例:

  1. size_t find(const std::string& str, size_t pos = 0) const noexcept;

    在当前字符串中从位置pos开始查找子字符串str第一次出现的位置。如果找不到则返回std::string::npos

    #include
    #include
    
    int main() {
        std::string s("hello world");
        std::string sub("world");
        size_t pos = s.find(sub);
        if (pos != std::string::npos) {
            std::cout << "Found at position: "<< pos<< std::endl;
        } else {
            std::cout << "Not found"<< std::endl;
        }
        return 0;
    }
    
  2. size_t rfind(const std::string& str, size_t pos = npos) const noexcept;

    在当前字符串中从位置pos开始查找子字符串str最后一次出现的位置。如果找不到则返回std::string::npos

    #include
    #include
    
    int main() {
        std::string s("hello world world");
        std::string sub("world");
        size_t pos = s.rfind(sub);
        if (pos != std::string::npos) {
            std::cout << "Found at position: "<< pos<< std::endl;
        } else {
            std::cout << "Not found"<< std::endl;
        }
        return 0;
    }
    
  3. size_t find_first_of(const std::string& str, size_t pos = 0) const noexcept;

    在当前字符串中从位置pos开始查找str中任意字符第一次出现的位置。如果找不到则返回std::string::npos

    #include
    #include
    
    int main() {
        std::string s("hello world");
        std::string chars("wro");
        size_t pos = s.find_first_of(chars);
        if (pos != std::string::npos) {
            std::cout << "Found at position: "<< pos<< std::endl;
        } else {
            std::cout << "Not found"<< std::endl;
        }
        return 0;
    }
    
  4. size_t find_last_of(const std::string& str, size_t pos = npos) const noexcept;

    在当前字符串中从位置pos开始查找str中任意字符最后一次出现的位置。如果找不到则返回std::string::npos

    #include
    #include
    
    int main() {
        std::string s("hello world");
        std::string chars("wro");
        size_t pos = s.find_last_of(chars);
        if (pos != std::string::npos) {
            std::cout << "Found at position: "<< pos<< std::endl;
        } else {
            std::cout << "Not found"<< std::endl;
        }
        return 0;
    }
    

这些函数可以根据需要进行组合使用,以实现更复杂的查找功能。注意,当使用std::string::npos作为参数时,表示从字符串的末尾开始查找。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/108129.html

相关推荐

  • winapi在c#中的实际应用案例

    winapi在c#中的实际应用案例

    WinAPI(Windows Application Programming Interface)是Windows操作系统提供的一组编程接口,用于开发Windows应用程序。在C#中,我们通常使用.NET框架提供的类库...

  • c#如何调用winapi函数

    c#如何调用winapi函数

    在C#中,你可以使用P/Invoke(Platform Invoke)来调用Windows API函数。P/Invoke允许托管代码(如C#)调用非托管代码(如C++或Win32 API)。以下是一个简单的示...

  • winapi在c#图形界面开发中的作用

    winapi在c#图形界面开发中的作用

    Windows API(WinAPI)是一组用于与Windows操作系统进行交互的函数和方法 访问底层操作系统功能:WinAPI提供了对底层操作系统功能的访问,如窗口管理、文件操作、...

  • c#中winapi函数的参数传递技巧

    c#中winapi函数的参数传递技巧

    在C#中调用Windows API(WinAPI)函数时,需要注意参数的传递方式和数据类型 使用DllImport属性:在C#中调用WinAPI函数,需要使用DllImport属性来导入相应的动态...

  • 如何比较c++ string类的对象

    如何比较c++ string类的对象

    在 C++ 中,可以使用标准库中的 std::string 类来表示字符串 相等运算符 ==:用于检查两个字符串是否相等。如果两个字符串包含相同的字符序列,则它们相等。 #in...

  • string类在c++中的内存管理

    string类在c++中的内存管理

    在C++中,std::string 是一个基于字符数组的容器,它提供了方便的接口来处理字符串。std::string 的内存管理通常涉及到动态内存分配和释放。
    以下是 std::s...

  • c++ string类如何进行字符串拼接

    c++ string类如何进行字符串拼接

    在 C++ 中,std::string 类提供了几种方法来进行字符串拼接。以下是一些常见的方法: 使用 + 运算符: #include
    #include int main() { std::string str1 =...

  • c++ string类的比较操作符有哪些

    c++ string类的比较操作符有哪些

    C++中的std::string类提供了多种比较操作符,用于比较两个字符串对象。以下是一些常用的比较操作符: ==:等于操作符,用于检查两个字符串是否相等。如果两个字符...