21xrx.com
2024-12-23 00:23:33 Monday
登录
文章检索 我的文章 写文章
C++中的strstr函数解析
2023-06-30 04:50:38 深夜i     --     --
strstr函数 C++标准库 字符串查找 返回字符串指针 用法和示例

C++中的strstr函数是一个非常常用的字符串处理函数,它用于在一个字符串中查找另一个字符串的出现位置。本文将对C++中的strstr函数进行详细的解析。

一、函数原型

strstr函数的函数原型如下:

char * strstr (const char * str1, const char * str2);

二、函数功能

strstr函数用于在字符串str1中查找字符串str2的出现位置,返回第一次出现str2的位置对应的指针。如果找到str2,返回指向str1中对应的第一个字符的指针;否则,返回空指针nullptr。

三、函数参数

strstr函数有两个参数:

1、str1:包含目标序列的源串

2、str2:需要查找的子串序列

四、函数调用

使用strstr函数,需要包含头文件 ,其调用方式如下:

const char *str1 = "This is an example.";

const char *str2 = "example";

char *result = nullptr;

result = strstr(str1, str2);

if (result != nullptr)

  cout << "The substring '" << str2 << "' was found in '"

     << str1 << "', starting at position " << result - str1 + 1 << endl;

else

  cout << "The substring '" << str2 << "' was not found in '"

     << str1 << "'" << endl;

五、函数示例

下面通过几个实例介绍C++中strstr函数的使用。

示例1:查找字符串中的子串

#include

#include

using namespace std;

int main()

{

  char str1[] = "This is an example.";

  char str2[] = "example";

  char *result = nullptr;

  result = strstr(str1, str2);

  if (result != nullptr)

    cout << "The substring '" << str2 << "' was found in '"

       << str1 << "', starting at position " << result - str1 + 1 << endl;

  else

    cout << "The substring '" << str2 << "' was not found in '"

       << str1 << "'" << endl;

  return 0;

}

示例2:判断字符串是否包含某个子串

#include

#include

using namespace std;

bool hasSubstring(const char *str1, const char *str2)

{

  return strstr(str1, str2) != nullptr;

}

int main()

{

  char str1[] = "This is an example.";

  char str2[] = "example";

  if (hasSubstring(str1, str2))

    cout << "'" << str1 << "' contains the substring '" << str2 << "'" << endl;

  else

    cout << "'" << str1 << "' does not contain the substring '" << str2 << "'" << endl;

  return 0;

}

六、总结

本文对C++中的strstr函数进行了详细的介绍,包括函数原型、功能、参数、调用方式以及示例等方面。通过本文的介绍,读者可以更好地掌握C++字符串处理函数strstr的使用方法,从而更加高效地开发C++程序。

  
  

评论区

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