Comment utiliser la fonction find_first_of() en C++

How Use Find_first_of Function C



Différentes fonctions intégrées existent en C++ pour travailler avec les données de chaîne. Les find_first_of() La fonction est utilisée pour trouver l'emplacement de la première occurrence du caractère spécifié. Cette fonction renvoie la position de la première occurrence de la chaîne qui sera donnée comme valeur d'argument de cette fonction. Différentes utilisations de cette fonction pour rechercher la chaîne en C++ ont été expliquées dans ce tutoriel.

Prérequis

Avant de vérifier les exemples de ce tutoriel, vous devez vérifier que le compilateur g++ est installé ou non dans le système. Si vous utilisez Visual Studio Code, installez les extensions nécessaires pour compiler le code source C++ afin de créer le code exécutable. Ici, l'application Visual Studio Code a été utilisée pour compiler et exécuter le code C++.







Fonctionnalités de la fonction find_first_of()

Les find_first_of() La fonction peut renvoyer différents types de variables en fonction de la valeur du premier argument. Il renverra la position de recherche de la chaîne si la valeur du premier argument est une chaîne. Il renverra la position de recherche de la chaîne de caractères si le pointeur vers un tableau de caractères est donné dans le premier argument. Il renverra la position du tampon si la valeur du troisième argument est donnée. Il renverra la position du caractère si un caractère est donné dans le premier argument et qu'il existe dans la chaîne principale. La position de départ de la recherche est définie dans le deuxième argument de cette fonction. La syntaxe différente de cette fonction est donnée ci-dessous.



Syntaxe

string size_t find_first_of (const string& str, size_t pos = 0) const;
c-string size_t find_first_of (const char* s, size_t pos = 0) const;
buffer size_t find_first_of (const char* s, size_t pos, size_t n) const;
caractère size_t find_first_of (car c, size_t pos = 0) const;



Exemple 1 : Rechercher et remplacer le caractère particulier d'une chaîne

L'exemple suivant montre comment rechercher la position du caractère particulier dans une chaîne. Créez un fichier C++ avec le code suivant pour remplacer le caractère particulier par un autre caractère. Dans le code, le find_first_of() La fonction a été utilisée pour rechercher toutes les positions d'un caractère particulier dans une chaîne et remplacer les caractères par un autre caractère en utilisant la boucle. La chaîne d'origine et la chaîne remplacée seront imprimées après l'exécution du code.





//Inclure pour l'impression de la sortie
#comprendre
//Inclure pour utiliser size_t
#comprendre

entierprincipale()
{
//Initialisation d'une variable chaîne
les heures::chaîne de caractèresstrData('Bienvenue sur LinuxHint');
//Imprime la chaîne d'origine
les heures::cout << « La chaîne d'origine est : » +strData<< ' ';
//Connaître toutes les positions du caractère 'i'
les heures::taille_tliste de recherche=strData.find_first_of('je');
// Itérer la boucle pour remplacer tous les 'i' par '@'
tandis que (liste de recherche!=les heures::chaîne de caractères::npos)
{
strData[liste de recherche] = '@';
liste de recherche=strData.find_first_of('je',liste de recherche+1);
}
//Imprime la chaîne modifiée
les heures::cout << 'La chaîne modifiée est : ' +strData<< ' ';

revenir 0;
}

Sortir:

La sortie suivante apparaîtra après l'exécution du code ci-dessus.



Exemple 2 : Rechercher la première position des caractères recherchés

Créez un fichier C++ avec le code suivant pour rechercher la position d'une chaîne de plusieurs caractères et renvoyer la première position du caractère qui correspond à la chaîne principale. Une donnée de chaîne a été affectée dans une variable de chaîne et la première position est stockée dans une variable entière. La valeur de la position sera imprimée après l'exécution du code.

//Inclure pour l'impression de la sortie
#comprendre

entierprincipale()
{
// Initialise la variable chaîne
les heures::chaîne de caractèresstrData( 'Programmation C++ de base');
// Déclare la variable entière pour stocker la position
entierposition;
// Recherche le caractère 'C++'
position=strData.find_first_of( 'K ++' );
// Vérifier la valeur de la position
si (position> = 0)
{
// Affiche la position si un caractère quelconque est trouvé
les heures::cout << 'Le personnage '' <<strData[position]
<< '' a trouvé' << ' au poste ' <<position<< ' ';
}

revenir 0;
}

Sortir:

La sortie suivante apparaîtra après l'exécution du code ci-dessus. Ici, le personnage, ‘ + ' de la chaîne, ' K ++ ’ a trouvé à la position, 7 de la chaîne principale, ' Programmation C++ de base '.

Exemple 3 : Rechercher un caractère particulier après la position particulière

Créez un fichier C++ avec le code suivant pour rechercher un caractère particulier après la position particulière. Une donnée de chaîne est stockée dans la variable chaîne et une chaîne particulière est recherchée après la position 13. Si un caractère de la chaîne de recherche a été trouvé dans la chaîne principale, une valeur de position sera renvoyée.

//Inclure pour l'impression de la sortie
#comprendre

entierprincipale()
{
//Initialisation d'une variable chaîne
les heures::chaîne de caractèresstrData= 'manger pour vivre non vivre pour manger';
//Imprime la chaîne d'origine
les heures::cout << « La chaîne d'origine est : » +strData<< ' ';
//Imprime la position où le dernier caractère trouvé
les heures::cout<<'Le dernier caractère correspondant trouvé à la position :'
<<strData.find_first_of('à',13) << ' ';
revenir 0;
}

Sortir:

La sortie suivante apparaîtra après l'exécution du code ci-dessus. Ici, le personnage, ‘ à ' de la chaîne, ' à ’ a trouvé à la position, quinze de la chaîne principale, ' manger pour vivre non vivre pour manger '.

Exemple 4 : Rechercher la position du premier numéro correspondant

Créez un fichier C++ avec le code suivant pour rechercher chaque numéro de la première liste de vecteurs dans la deuxième liste de vecteurs et renvoyer la position du numéro correspondant de la première liste de vecteurs. Si un argument correspondant est trouvé, alors la valeur de position sera renvoyée ; sinon, un message sera imprimé.

//Inclure pour l'impression de la sortie
#comprendre
//Inclure pour rechercher des données dans le vecteur
#comprendre
//Inclure pour l'utilisation de données vectorielles
#comprendre

entierprincipale()
{
//Déclarer deux liste de vecteurs
les heures::vecteurliste1{dix,5,65,31,7};
les heures::vecteurliste2{2,77,5,38,32,55};
//Recherche les données de la liste1 dans la liste2
autosortir=les heures::find_first_of(liste1.commencer(), liste1.finir(), liste2.commencer(), liste2.finir());
// Lecture de la position du numéro correspondant
entierposition=les heures::distance(liste1.commencer(), sortir);

//Vérifiez que n'importe quel nombre de list1 correspond à n'importe quel nombre de list2
si (sortir<liste1.finir()) {
les heures::cout << 'Le premier numéro correspondant' <<liste1[position] << ' trouvé à la position ' <<position<< ' ';
}
autre {
les heures::cout << 'Aucun numéro correspondant trouvé. ';
}
}

Sortir:

La sortie suivante apparaîtra après l'exécution du code ci-dessus. La valeur numérique, 5 du premier tableau, existe dans le deuxième tableau et la position de ce nombre est 1.

Conclusion

La fonction find_first_of() peut être utilisée pour rechercher un caractère ou un nombre à diverses fins de programmation. Cette fonction peut être utilisée pour résoudre les différents problèmes de recherche. J'espère que le programmeur C++ pourra utiliser correctement cette fonction après avoir lu ce tutoriel.