📅  最后修改于: 2023-12-03 15:29:52.195000             🧑  作者: Mango
在 C++ 中,string
是个非常有用的类,它可以方便地处理字符串。其中的 string.find
函数可以用于查找子字符串在原字符串中的位置。
string.find
函数的原型为:
size_type find(const basic_string& str, size_type pos = 0) const noexcept;
其中:
str
:要查找的子字符串;pos
:查找的开始位置,默认为 0;size_type
:string
类型中的无符号整数类型。返回值为 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++ 中操作字符串的重要函数之一,可以方便地查找子字符串在原字符串中的位置。在使用时需要特别注意返回值的含义,并对函数加以合理地运用。