千家信息网

C/C++编程怎么判断String字符串是否包含某个字符串

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"C/C++编程怎么判断String字符串是否包含某个字符串",在日常操作中,相信很多人在C/C++编程怎么判断String字符串是否包含某个字符串问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2025年01月21日C/C++编程怎么判断String字符串是否包含某个字符串

这篇文章主要介绍"C/C++编程怎么判断String字符串是否包含某个字符串",在日常操作中,相信很多人在C/C++编程怎么判断String字符串是否包含某个字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C/C++编程怎么判断String字符串是否包含某个字符串"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、C语言风格

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

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

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

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

参考代码:

#include #include #include 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 #include 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/C++编程怎么判断String字符串是否包含某个字符串"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0