vector & lt; string & gt; :: itérateur - comment trouver la position d'un élément
J'utilise le code suivant pour rechercher une chaîne dans une std::vector
de string
type. Mais comment faire pour retourner la position de l'élément en particulier?
Code:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<string> vec;
vector<string>::iterator it;
vec.push_back("H");
vec.push_back("i");
vec.push_back("g");
vec.push_back("h");
vec.push_back("l");
vec.push_back("a");
vec.push_back("n");
vec.push_back("d");
vec.push_back("e");
vec.push_back("r");
it=find(vec.begin(),vec.end(),"r");
//it++;
if(it!=vec.end()){
cout<<"FOUND AT : "<<*it<<endl;
}
else{
cout<<"NOT FOUND"<<endl;
}
return 0;
}
De sortie:
FOUND AT : r
Résultat Attendu:
FOUND AT : 9
source d'informationauteur user2754070
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
std::distance
:Pour un
std::vector::iterator
vous pouvez également utiliser l'arithmétique:Utilisation suivantes :
Utiliser cette instruction: