检查c++中的子字符串

Check for a substring in C++

本文关键字:字符串 c++ 检查      更新时间:2023-10-16

这是为了添加一些我需要构建到现有库中的功能。我试图检查一个字符串是否包含子字符串。我有指向主字符串(它是一个大得多的字符串的子字符串)的开始和末尾的指针,并且要搜索的单词是string数据类型。

char * start;
char * end;
String wordtosearchfor

我在c++中阅读了关于查找的内容,但我在弄清楚如何使用指针输入时遇到了麻烦。是否有一个内置的功能,以这种形式的输入工作?或者从头到尾读入一个可以与find一起使用的新String是否更有效?

谢谢!

首先,您确实可以使用类std::string的成员函数find。例如

char * start;
char * end;
std::string wordtosearch;
// setting values for variables
std::string::size_type n = wordtosearch.find( start, 0, end - start );

在标头<algorithm>中声明了标准算法std::search例如

char * start;
char * end;
std::string wordtosearch;
// setting values for variables
std::string::iterator it = std::search( wordtosearch.begin(), wordtosearch.end(), 
                                        start, end );

在这些例子中,我假设结束点在搜索子字符串的最后一个字符之后。