21xrx.com
2024-12-22 22:16:14 Sunday
登录
文章检索 我的文章 写文章
如何在C++中判断字符串是否包含?
2023-07-08 11:30:27 深夜i     --     --
字符串 C++ 判断 包含

在C++编程中,有时候需要判断字符串是否包含某个字符或子字符串。本文将介绍如何在C++中判断字符串是否包含。

1. 使用 string 类的 find() 函数

string 类是 C++ 中表示字符串的一种方式。可以使用 string 类的成员函数 find() 来判断一个字符串是否包含另一个字符串。

举个例子,假设我们要判断字符串 str1 是否包含子字符串 str2,可以使用以下代码:


#include <string>

...

string str1 = "Hello World";

string str2 = "World";

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

 // str1 包含 str2

else

 // str1 不包含 str2

在上面的代码中,find() 函数会在 str1 中查找 str2,并如果成功返回 str2 的起始位置。如果找不到,则会返回 string::npos。

因此,我们只需要检查 find() 函数的返回值是否等于 string::npos,就可以判断字符串是否包含子字符串。

2. 使用 C 风格的字符串处理函数

如果不想使用 string 类,还可以使用 C 风格的字符串处理函数来判断字符串是否包含。具体而言,可以使用 strstr() 函数来判断一个字符串是否包含另一个字符串。

举个例子,假设我们要判断字符串 str1 是否包含子字符串 str2,可以使用以下代码:


#include <cstring>

...

const char* str1 = "Hello World";

const char* str2 = "World";

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

 // str1 包含 str2

else

 // str1 不包含 str2

在上面的代码中,strstr() 函数会在 str1 中查找 str2,并如果成功返回 str2 的起始位置。如果找不到,则会返回 NULL。

因此,我们只需要检查 strstr() 函数的返回值是否为 NULL,就可以判断字符串是否包含子字符串。

总结

在 C++ 中判断字符串是否包含可以使用 string 类的 find() 函数,也可以使用 C 风格的字符串处理函数中的 strstr() 函数。不管哪种方式,只要能够找到子字符串在主字符串中的位置,就可以判断字符串是否包含。

  
  

评论区

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