📜  c++ 中的 string.find(1)

📅  最后修改于: 2023-12-03 15:29:52.195000             🧑  作者: Mango

C++ 中的 string.find

在 C++ 中,string 是个非常有用的类,它可以方便地处理字符串。其中的 string.find 函数可以用于查找子字符串在原字符串中的位置。

函数原型

string.find 函数的原型为:

size_type find(const basic_string& str, size_type pos = 0) const noexcept;

其中:

  • str:要查找的子字符串;
  • pos:查找的开始位置,默认为 0;
  • size_typestring 类型中的无符号整数类型。

返回值为 size_type 类型,表示查找到的子字符串在原字符串中的位置。如果未能找到,返回 string::npos,也是 size_type 类型的值。

使用示例

下面是使用 string.find 的例子:

#include <iostream>
#include <string>

int main() {
    std::string str = "hello, world!";
    std::string sub_str = "world";

    size_t pos = str.find(sub_str);
    if (pos != std::string::npos) {
        std::cout << "Found at position " << pos << std::endl;
    }
    else {
        std::cout << "Not found" << std::endl;
    }

    return 0;
}

输出结果:

Found at position 7
特别注意
  • string.find 函数返回的位置是从 0 开始计数的。如果子字符串在原字符串中的位置从 1 开始计数,需要在返回值上加 1;
  • 当要查找的字符串为空时,string.find 函数永远返回 0。这是因为空字符串可以在任何位置被找到。
总结

string.find 函数是 C++ 中操作字符串的重要函数之一,可以方便地查找子字符串在原字符串中的位置。在使用时需要特别注意返回值的含义,并对函数加以合理地运用。