21xrx.com
2024-11-22 04:08:18 Friday
登录
文章检索 我的文章 写文章
如何在C++中判断字符串是否包含另一个字符串?
2023-07-13 17:16:43 深夜i     --     --
C++ 判断 字符串 包含 字符串比较

在C++中,我们可以使用STL中的string类或C语言中的字符数组来表示字符串。有时我们需要检查一个字符串是否包含另一个字符串,这时有几种方法可以实现。

方法一:使用find()函数

string类提供了一个find()函数可以用来搜索一个字符串是否包含另一个字符串。find()函数返回一个整数,表示找到的子字符串的位置。如果找不到该子字符串,则返回一个特殊值string::npos。

下面是使用find()函数的示例代码:


#include<iostream>

#include<string>

using namespace std;

int main()

{

  string str1 = "hello world";

  string str2 = "world";

  if(str1.find(str2) != string::npos)

    cout << "str1 contains str2." << endl;

  else

    cout << "str1 does not contain str2." << endl;

  return 0;

}

测试结果:


str1 contains str2.

方法二:使用strstr()函数

如果我们使用字符数组表示字符串,可以使用C标准库中的strstr()函数来检查字符串是否包含另一个字符串。strstr()函数返回一个指针,指向找到的子字符串的位置。如果找不到该子字符串,则返回一个空指针。

下面是使用strstr()函数的示例代码:


#include<iostream>

#include<cstring>

using namespace std;

int main()

{

  char str1[20] = "hello world";

  char str2[10] = "world";

  if(strstr(str1, str2) != NULL)

    cout << "str1 contains str2." << endl;

  else

    cout << "str1 does not contain str2." << endl;

  return 0;

}

测试结果:


str1 contains str2.

无论使用哪种方法,它们都是在两个字符串中搜索子字符串的位置来确定是否包含。这些方法也可以用来搜索字符串中的特定模式。如果找到匹配项,它们将返回匹配项的位置。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复