C/C++編程判斷String字符串是否包含某個字符串實現(xiàn)示例
一、C語言風格
在C語言中,字符串存儲為字符數(shù)組,以'\0'結束。
在C的接口中,有strstr函數(shù),可以在字符串中查找另一個字符串。
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類提供了字符串中查找另一個字符串的函數(shù)find。
其重載形式為:
string::size_type string::find(string &);
功能為在string對象中,查找參數(shù)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字符串是否包含某個字符串實現(xiàn)示例的詳細內容,更多關于C++判斷String字符串是否包含某個字符串的資料請關注腳本之家其它相關文章!
相關文章
MongoDB?C?驅動程序安裝(libmongoc)?和?BSON?庫(libbson)方法
這篇文章主要介紹了安裝?MongoDB?C?驅動程序?(libmongoc)?和?BSON?庫?(libbson),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
VC運用OPENGL加載BMP紋理圖的實現(xiàn)方法匯總
這篇文章主要介紹了VC運用OPENGL加載BMP紋理圖的實現(xiàn)方法,對于更好的了解OpenGL很有幫助,需要的朋友可以參考下2014-07-07

