21xrx.com
2025-06-24 19:59:02 Tuesday
登录
文章检索 我的文章 写文章
C++实现字符串包含的判断方法
2023-06-29 15:33:18 深夜i     25     0
C++ 字符串 包含 判断方法

C++作为一种高级编程语言,在字符串操作方面具有许多强大的功能。其中一种常用的操作就是判断一个字符串是否包含另一个字符串。下面我们来介绍一种C++实现字符串包含的判断方法。

在C++中,字符串是通过字符数组来表示的。因此,我们可以通过逐个比较两个字符数组的方式来判断一个字符串是否包含另一个字符串。具体实现如下:

首先,我们需要定义两个字符数组,分别表示待判断的原字符串和目标字符串。接着,我们使用一个循环来遍历原字符串的所有字符。在循环中,我们先判断当前位置的字符是否与目标字符串的首字符相同。如果相同,我们就将原字符串和目标字符串的当前位置分别往后移动一个字符,继续比较接下来的字符。如果在遍历完成前,能够一直匹配上目标字符串的所有字符,那么原字符串就包含目标字符串。

下面是具体实现示例:

#include <iostream>
#include <cstring>
using namespace std;
bool isSubstring(char* str1, char* str2) {
  int len1 = strlen(str1);
  int len2 = strlen(str2);
  for(int i = 0; i <= len1 - len2; i++) {
    int j;
    for(j = 0; j < len2; j++) {
      if(str1[i + j] != str2[j])
        break;
      
    }
    if(j == len2)
      return true;
    
  }
  return false;
}
int main() {
  char str1[] = "Hello World!";
  char str2[] = "World";
  bool result = isSubstring(str1, str2);
  if(result)
    cout << "str1 contains str2" << endl;
   else
    cout << "str1 does not contain str2" << endl;
  
  return 0;
}

在上述示例中,我们先定义了一个名为isSubstring的函数,该函数接受两个字符指针参数,分别表示原字符串和目标字符串。接着,我们通过使用strlen函数来获取这两个字符串的长度,并在循环中逐一比较字符。如果能匹配上目标字符串的所有字符,则返回true,否则返回false。

在程序的主函数中,我们定义了两个测试字符串,分别为str1和str2,然后调用isSubstring函数来检测str1是否包含str2。运行该程序后,我们可以看到输出结果为“str1 contains str2”,表示这两个字符串确实为包含关系。

总之,C++实现字符串包含的判断方法十分简单,只需要使用一个双循环逐个比较字符即可。这种方法可以用于字符串查找、过滤等操作中。

  
  

评论区