C++ 中的 strstr()
strstr() 函数是 string.h 中的预定义函数。它用于在字符串中查找子字符串的出现。此匹配过程在“\0”处停止,不包括它。
strstr() 的语法如下 −
char *strstr( const char *str1, const char *str2)
在上面的语法中,strstr() 在字符串 str1 中找到字符串 str2 的首次出现。实现 strstr() 的程序如下 −
示例
#include <iostream> #include <string.h> using namespace std; int main() { char str1[] = "Apples are red"; char str2[] = "are"; char *ptr; ptr = strstr(str1, str2); if(ptr) cout<<"Occurance of \""<< str2 <<"\" in \""<< str1 <<"\" is at position "<<ptr - str1 + 1; else cout<<"There is no occurance of \""<< str2 <<"\" in "<<str1; return 0; }
输出
上述程序的输出如下 −
Occurance of "are" in "Apples are red" is at position 8
在上述程序中,str1 和 str2 分别定义为“苹果是红色的”和“是”。这在下面给出 −
char str1[] = "Apples are red"; char str2[] = "are"; char *ptr;
指针 ptr 指向“苹果是红色的”中的“是”的第一个出现。这是使用 strstr() 函数完成的。此代码片段如下所示 −
ptr = strstr(str1, str2);
如果指针 ptr 包含一个值,则显示 str1 中 str2 的位置。否则,它会显示 ptr1 中没有 ptr2 的出现。这在下面显示 −
if(ptr) cout<<"Occurance of \""<< str2 <<"\" in \""<< str1 <<"\" is at position "<<ptr - str1 + 1; else cout<<"There is no occurance of \""<< str2 <<"\" in "<<str1;
广告