码迷,mamicode.com
首页 > 其他好文 > 详细

find函数

时间:2020-12-19 13:09:58      阅读:2      评论:0      收藏:0      [点我收藏+]

标签:nbsp   iostream   指定位置   停止   span   下标   color   int   返回值   

1.find()

返回值为目标元素的下标,若不存在目标元素则返回-1

#include<iostream>
using namespace std;
int main()
{
    string str1 = "A BC", str2 = "abc";
    char c = 5;
    int i;
    i= str1.find(str2); //从头开始在str1中查找子串str2 
    //i = str1.find(str2,2);//从第三个(0开头)开始在str1中查找子串str2
    cout << i << endl;
    return 0;
}

2.find_first_of()

这个用法和①中str1.find(str2)相似,都是返回str2中首个字符在str1中的地址。
但是要特别注意,没有找到时返回值是-1.

#include<iostream>
using namespace std;
int main()
{
    string s1 = "012345678", s2 = "978";
    char c = 5;
    //int ans = s1.find_first_of(s2); //在s1中查找s2的字串,找到第一个相同的字母就停止,不是全匹配,find()是全匹配,若第一个没有则找下一个,若全没有输出为-1 
    //int ans = s1.find_first_of(s2,2) ;//从指定位置开始查找s1中的字串s2 
    cout << ans << endl;
    return 0;
}

3. find_last_of()
函数原型:int find_last_of(char c);
未找到时返回-1。

#include<iostream>
using namespace std;
int main()
{
    string s1 = "012345678", s2 = "458";
    char c = 5;
    int ans = s1.find_last_of(s2);//从s1最后开始查找子串s2的倒序(854),找到一个相等的字符就停止,并非全匹配,也可从指定位置开始往后查找 
    cout << ans << endl;
    return 0; 
} 

4.ind_not_first_of()
函数原型:size_type find_first_not_of( char ch, size_type index = 0 );
在字符串中查找第一个与str中的字符都不匹配的字符,返回它的位置。搜索从index开始。如果没找到就返回-1

#include<iostream>
using namespace std;
int main()
{
    string s1 = "012345678", s2 = "678";
    char c = 5;
    int ans = s1.rfind(s2); //从s1的反方向中查找s2的子串,是全匹配,返回与s2第一个字符相匹配的地址,若没有其子串则返回-1 
    cout << ans << endl;    
    return 0;
}

find_not_last_of()
函数原型:size_type find_last_not_of( char ch, size_type index = 0 );
在字符串中查找最后一个与str中的字符都不匹配的字符,返回它的位置。如果没找到就返回-1

#include<iostream>
using namespace std;
int main()
{
    string s1 = "012345678", s2 = "018";
    char c = 5;
    int ans = s1.find_first_not_of(s2,3);//从s1的正方向开始查找第一个不与子串像匹配的位置,也可以从指定位置开始查找 
    cout << ans << endl;    
    return 0;
}

 

find函数

标签:nbsp   iostream   指定位置   停止   span   下标   color   int   返回值   

原文地址:https://www.cnblogs.com/asunataisiki/p/14136432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!