21xrx.com
2025-03-30 03:22:58 Sunday
文章检索 我的文章 写文章
C++实现字符串中子字符串查找
2023-06-29 07:36:03 深夜i     29     0
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可以处理更为复杂的字符串查找问题。

  
  

评论区

请求出错了