C/C++编程判断String字符串是否包含某个字符串实现示例

 更新时间:2021年11月18日 16:21:01   作者:程序媛张小妍  
这篇文章主要为大家介绍了C++编程中判断String字符串是否包含某个字符串的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助

一、C语言风格

在C语言中,字符串存储为字符数组,以'\0'结束。

在C的接口中,有strstr函数,可以在字符串中查找另一个字符串。

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

功能为在str1中查找str2,如果存在,那么返回查找到的起始指针,否则返回NULL。

参考代码:

#include <iostream>
#include <string>
#include <cstring>
using  namespace  std;
int  main()
{
     string a= "abcdefghigklmn" ;
     char  *b= "def" ;
     char  *c= "123" ;     
     if ( strstr (a.c_str(), b) == NULL) //在a中查找b,如果不存在,
         cout <<  "not found\n" ; //输出结果。
     else //否则存在。
         cout << "found\n" ;  //输出结果。
     if ( strstr (a.c_str(), c) == NULL) //在a中查找b,如果不存在,
         cout <<  "not found\n" ; //输出结果。
     else //否则存在。
         cout << "found\n" ;  //输出结果。
     return  0;
}

二、C++风格

C++的string类提供了字符串中查找另一个字符串的函数find。

其重载形式为:

string::size_type string::find(string &);

功能为在string对象中,查找参数string类型的字符串是否存在,如果存在,返回起始位置。

不存在则返回 string::npos。

参考代码如下:

#include <iostream>
#include <string>
using  namespace  std;
int  main()
{
     string a= "abcdefghigklmn" ;
     string b= "def" ;
     string c= "123" ;
     string::size_type idx;     
     idx=a.find(b); //在a中查找b.
     if (idx == string::npos ) //不存在。
         cout <<  "not found\n" ;
     else //存在。
         cout << "found\n" ; 
     idx=a.find(c); //在a中查找c。
     if (idx == string::npos ) //不存在。
         cout <<  "not found\n" ;
     else //存在。
         cout << "found\n" ; 
     return  0;
}

两种方法在实际编程中都可以使用,效率几乎相同。

不过相对来说使用C++的string效率更高一些,代码也更简便。

以上就是C++编程判断String字符串是否包含某个字符串实现示例的详细内容,更多关于C++判断String字符串是否包含某个字符串的资料请关注脚本之家其它相关文章!

相关文章

  • 详解C++ sort函数的cmp参数

    详解C++ sort函数的cmp参数

    这篇文章主要介绍了C++ sort函数的cmp参数,以升降排序个结构体的排序展开的话题,感兴趣的小伙伴可以参考下面文章内容
    2021-09-09
  • 基于matlab实现DCT数字水印嵌入与提取

    基于matlab实现DCT数字水印嵌入与提取

    数字水印技术是将一些标识信息直接嵌入数字载体当中, 或间接表示在信号载体中, 且不影响原载体的使用价值。本文主要为大家介绍了基于matlab如何实现数字水印的嵌入与提取,感兴趣的可以学习一下
    2022-01-01
  • C语言中你不知道的隐式类型转换规则详解

    C语言中你不知道的隐式类型转换规则详解

    在C语言中,类型转换的方式一般可分为隐式类型转换和显示类型转换(也称为强制类型转换),其中隐式类型转换由编译器自动进行,不需要程序员干预,本文给大家详细介绍了C语言中隐式类型转换规则,需要的朋友可以参考下
    2024-01-01
  • C++实现扫雷经典小游戏

    C++实现扫雷经典小游戏

    这篇文章主要为大家详细介绍了C++实现扫雷经典小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C++实现航空订票程序

    C++实现航空订票程序

    这篇文章主要为大家详细介绍了C++实现航空订票程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C++实现逆波兰表达式的例题详解

    C++实现逆波兰表达式的例题详解

    逆波兰表达式由波兰的逻辑学家卢卡西维兹提出,它的特点是:没有括号,运算符总是放在和它相关的操作数之后。本文将通过例题讲讲如何利用C++实现逆波兰表达式,需要的可以参考一下
    2022-12-12
  • VC实现五子棋游戏的一个算法示例

    VC实现五子棋游戏的一个算法示例

    这篇文章主要介绍了VC实现五子棋游戏的一个算法示例,对于学习数据结构与算法的朋友有一定的借鉴价值,需要的朋友可以参考下
    2014-08-08
  • opencv求解区域的内接矩形

    opencv求解区域的内接矩形

    这篇文章主要为大家详细介绍了opencv求解区域的内接矩形,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • C++中map和set的使用详细攻略

    C++中map和set的使用详细攻略

    set set是一种关联式容器,下面这篇文章主要给大家介绍了关于C++中map和set使用的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • Visual Studio 2019安装、测试创建c语言项目(图文教程)

    Visual Studio 2019安装、测试创建c语言项目(图文教程)

    这篇文章主要介绍了Visual Studio 2019安装、测试创建c语言项目,Visual Studio 2019是完全免费的,而且安装比较简单,现在把安装步骤分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-03-03

最新评论