在C++中,可以使用std::string
类的成员函数find()
来实现类似于indexof
的功能,找到子字符串在原字符串中首次出现的位置。下面是一个简单的示例:
#include<iostream>
#include<string>
int main() {
std::string main_str = "这是一个测试字符串";
std::string sub_str = "测试";
size_t found = main_str.find(sub_str);
if (found != std::string::npos) {
std::cout << "子字符串 \""<< sub_str << "\" 在主字符串中首次出现的位置是: "<< found<< std::endl;
} else {
std::cout << "子字符串 \""<< sub_str << "\" 未在主字符串中找到."<< std::endl;
}
return 0;
}
在这个示例中,我们使用find()
函数来查找子字符串"测试"
在主字符串"这是一个测试字符串"
中首次出现的位置。如果找到了子字符串,find()
函数将返回子字符串的起始索引,否则返回std::string::npos
。
注意:find()
函数不仅可以用于std::string
类型的对象,也可以用于C++11引入的std::basic_string_view
类型的对象。
领取专属 10元无门槛券
手把手带您无忧上云