您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C++中如何使用string.find()函數,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
#include <string>#include <iostream>using namespace std; void main(){復制代碼 代碼如下: ////find函數返回類型 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i");string flag;string::size_type position;//find 函數 返回jk 在s 中的下標位置 position = s.find("jk");if (position != s.npos) //如果沒找到,返回一個特別的標志c++中用npos表示,我這里npos取值是4294967295,{cout << "position is : " << position << endl;}else{cout << "Not found the flag" + flag;}復制代碼 代碼如下: //find 函數 返回flag 中任意字符 在s 中第一次出現的下標位置flag = "c";position = s.find_first_of(flag);cout << "s.find_first_of(flag) is : " << position << endl;復制代碼 代碼如下: //從字符串s 下標5開始,查找字符串b ,返回b 在s 中的下標position=s.find("b",5);cout<<"s.find(b,5) is : "<<position<<endl;復制代碼 代碼如下: //查找s 中flag 出現的所有位置。flag="a";position=0;int i=1;while((position=s.find_first_of(flag,position))!=string::npos){ //position=s.find_first_of(flag,position); cout<<"position "<<i<<" : "<<position<<endl; position++; i++;}復制代碼 代碼如下: //查找flag 中與s 第一個不匹配的位置flag="acb12389efgxyz789";position=flag.find_first_not_of (s);cout<<"flag.find_first_not_of (s) :"<<position<<endl;復制代碼 代碼如下: //反向查找,flag 在s 中最后出現的位置flag="3";position=s.rfind (flag);cout<<"s.rfind (flag) :"<<position<<endl;}
說明:1.如果string sub = ”abc“;string s = ”cdeabcigld“;s.find(sub) , s.rfind(sub) 這兩個函數,如果完全匹配,才返回匹配的索引,即:當s中含有abc三個連續的字母時,才返回當前索引。s.find_first_of(sub), s.find_first_not_of(sub), s.find_last_of(sub), s.find_last_not_of(sub) 這四個函數,查找s中含有sub中任意字母的索引。
2.如果沒有查詢到,則返回string::npos,這是一個很大的數,其值不需要知道。
關于C++中如何使用string.find()函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。