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;

更新于: 25-6 月-2020

1K+ 浏览量

开启你的 职业生涯

通过完成本课程获得认证

开始学习
广告