第一种:algorithm文件中的find(begin,end,value)
begin:从哪一个位置开始找,可以是数组名,也可以是数组下标,总之,从哪里开始找是你自己可以决定的。
end:结束的地址,也就是超过这个地址,函数就不再查找
value:是目标值
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int> v; \\定义了一个空数组
for(int i=0;i<5;i++){
v.push_back(i); \\对数组进行输入值
}
if(find(v.begin(),v.end(),4)!=v.end()){
cout<<find(v.begin(),v.end(),4)-v.begin()<<endl; //获取元素的下标
}else{
cout<<"元素不存在"<<endl;
}
return 0;
}
第二种:string中的find(value,begin)
string的find()是非常好用的
value:代表你所要查找的值
begin:代表你所要开始查找的位置,如果没有,就是默认从头开始查找
但需要注意的是find()的结果是所查到值的位置
如果目标字符出现多次时,只返回到第一个查询到的位置,如要范围所有出现目标字符的位置可以使用循环。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str="It is my first time to learn how to use find"
int p = 0;
while(str.find(‘o', p)!=string::npos){
p = str.find('o', p);
cout<<p<<endl;
p = p + 1;
}}