检查c++中的子字符串
Check for a substring in C++
这是为了添加一些我需要构建到现有库中的功能。我试图检查一个字符串是否包含子字符串。我有指向主字符串(它是一个大得多的字符串的子字符串)的开始和末尾的指针,并且要搜索的单词是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 );
在这些例子中,我假设结束点在搜索子字符串的最后一个字符之后。