21xrx.com
2024-12-23 00:26:11 Monday
登录
文章检索 我的文章 写文章
C++实现字符串中子字符串查找
2023-06-29 07:36:03 深夜i     --     --
C++ 字符串 子字符串查找

字符串中子字符串查找这一问题在编程中经常会遇到,C++语言提供了多种方式实现这一操作。下面介绍两种常用的方法。

一、利用string类的find函数

string类提供了寻找子字符串的函数find,其基本语法如下:

int find(const string& str, size_t pos = 0) const noexcept;

其中,str为要查找的子字符串,pos为查找的起始位置,默认值为0。

示例代码如下:


#include<iostream>

#include<string>

using namespace std;

int main() {

  string s="Hello, world!";

  string str="world";

  int pos=s.find(str);

  if(pos!=string::npos)

    cout<<"找到了"<<endl;

  

  else

  

    cout<<"未找到"<<endl;

  

  return 0;

}

二、利用标准库函数strstr

C++标准库提供了一个字符串操作函数库cstring,其中包含寻找子字符串的函数strstr,其基本语法如下:

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

其中,str1为要查找的字符串,str2为要查找的子字符串。

示例代码如下:


#include<iostream>

#include<cstring>

using namespace std;

int main() {

  char s[]="Hello, world!";

  char str[]="world";

  char* p=strstr(s,str);

  if(p!=NULL)

    cout<<"找到了"<<endl;

  

  else

  

    cout<<"未找到"<<endl;

  

  return 0;

}

总结:

以上两种方法都可以实现字符串中子字符串查找,应根据实际情况选择使用哪种方法。使用string类的方法相对简单、直观,而利用标准库函数strstr可以处理更为复杂的字符串查找问题。

  
  

评论区

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