string find的用法詳解

/*
string 
        find()的使用  


#include<iostream>
#include<string>
using namespace std;

int main(){
    string st1=("babbabab");

    //從前面找a的位置

    cout<<st1.find('a')<<"   ";  cout<<"輸出第一個a的下標  (從0開始) "<<endl;
    cout<<st1.find('a',0)<<"     ";cout<<"('a',x) 從x下標開始查詢a的下標"<<endl;

    //從後面找a 的位置 
    cout<<st1.rfind('a',1)<<"     ";cout<<"從0 到 x 從後向前查找a 所在該串的位置"<<endl; 

    cout<<(st1.find('c',0)==-1)<<endl;  //該數字不存在 就滿足條件 爲真 1     兩句均輸出1,原因是計算機中-1和4294967295都表示爲32個1(二進制)

    //st1.find("y",x); 該y可以是字符串 字符 string char型 均可 

    cout<<st1.find("bababa",0,4)<<endl; //6   第三個參數不得超過第一個參數 

    return 0;
}



find() 的實例 
#include<iostream>
#include<string>
using namespace std; 
int main(){
    string str("babccbabcaabcc");

    int num=0;

    size_t fi=str.find("abc",0); 

    while(fi!=str.npos){ //沒有找到一個 需要找到的位置 
        cout<<fi<<" ";
        num++; //統計一共有幾個下標 
        fi=str.find("abc",fi+1); //輸出下一個下標 
    }
    if(0==num) cout<<"not find!";
    cout<<endl;
    return 0;
}



*/

// find_first_of() 的用法 

// 同樣  find_last_of(str,x);  意思是從 x向前找 如果存在一個與str中相同的 則輸出該下標 
// 

//這裏不再演示 find_first_not_of() find_last_not_of()的用法了 其作用是
//如果該字符在str中沒有出現就輸出該下標 

#include<iostream>
#include<string>
using namespace std;

int main(){
    string str("babccbabcc");
    cout<<str.find('a',0);//1
    cout<<str.find_first_of('a',0)<<endl; //1 從0開始只要找到a 就輸出該a的小標

    string str1("bvgjhikl");
    string str2("kghlj");
    cout<<str1.find_first_of(str2,0)<<endl; //從str1的第0個字符開始 過程就是 b在str2中是否存在 如果存在就直接輸出該下標
    //在找v是否在str2中是否存在 存在就輸出改下標

    cout<<str1.find_first_of("kghlj",0,20);//2 第三個參數超過 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章