Comment utiliser find_first_of Fonction dans C ++

Comment utiliser find_first_of Fonction dans C ++
Différentes fonctions intégrées existent en C ++ pour travailler avec les données de chaîne. Le 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 la recherche de 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 le code Visual Studio, installez les extensions nécessaires pour compiler le code source C ++ pour créer le code exécutable. Ici, l'application de code Visual Studio a été utilisée pour compiler et exécuter le code C ++.

Caractéristiques de la fonction find_first_of ()

Le 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 première valeur d'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 de tampon si la valeur du troisième argument est donnée. Il renverra la position du caractère si un personnage est donné dans le premier argument et 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;
tampon size_t find_first_of (const char * s, size_t pos, size_t n) const;
Caractère size_t find_first_of (char C, size_t pos = 0) const;

Exemple 1: Recherchez et remplacez le caractère particulier d'une chaîne

L'exemple suivant montre la façon de 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
#inclure
// Inclure pour utiliser size_t
#inclure
int main ()

// initialiser une variable de chaîne
std :: string strdata ("bienvenue à Linuxhint");
// imprime la chaîne d'origine
std :: cout << "The original string is: " + strData << '\n';
// découvrez toute la position du personnage 'i'
std :: size_t searchList = strdata.find_first_of ("i");
// itérera la boucle pour remplacer tout ce que «je» par «@»
while (searchlist!= std :: String :: NPOS)

strdata [searchList] = '@';
searchList = strdata.find_first_of ("i", searchList + 1);

// imprime la chaîne modifiée
std :: cout << "The modified string is: " + strData << '\n';
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus.

Exemple 2: Recherchez la première position des caractères de recherche

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ées de chaîne a été attribuée dans une variable de chaîne, et la première position est stockée dans une variable entière. La valeur de position sera imprimée après l'exécution du code.

// inclure pour l'impression de la sortie
#inclure
int main()

// Initialiser la variable de chaîne
std :: string strdata ("programmation de base c ++");
// Déclarer la variable d'interger pour stocker le poste
position int;
// Recherchez le caractère 'C ++'
position = strdata.find_first_of ("k ++");
// Vérifiez la valeur de position
if (position> = 0)

// imprime la position si le caractère trouvé
std :: cout << "The character '" << strData[position]
<< "' has found" << " at the position " << position << '\n';

retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus. Ici, le personnage, '+«de la chaîne»K++'a trouvé au poste, 7 de la chaîne principale, 'Programmation C ++ de base'.

Exemple 3: Recherchez 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ées de chaîne est stockée dans la variable de 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, alors une valeur de position sera renvoyée.

// inclure pour l'impression de la sortie
#inclure
int main()

// initialiser une variable de chaîne
std :: string strdata = "manger pour vivre, pas vivre pour manger";
// imprime la chaîne d'origine
std :: cout << "The original string is: " + strData << '\n';
// imprime la position où le dernier caractère a trouvé
std :: cout<<"The last matching character found at the position :"
<< strData.find_first_of("at",13) << '\n';
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus. Ici, le personnage, 'un«de la chaîne»à'a trouvé au poste, 15 de la chaîne principale, 'manger pour vivre non vivre pour manger'.

Exemple 4: Recherchez la position du premier numéro de correspondance

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 de correspondance de la première liste de vecteurs. Si un argument correspondant est trouvé, la valeur de position sera renvoyée; Sinon, un message sera imprimé.

// inclure pour l'impression de la sortie
#inclure
// Inclure pour la recherche de données dans le vecteur
#inclure
// inclure pour l'utilisation de données vectorielles
#inclure
int main()

// Déclarer la liste des deux vecteurs
STD :: Vector list1 10, 5, 65, 31, 7;
STD :: Vector list2 2, 77, 5, 38, 32, 55;
// Recherchez les données de List1 dans la liste2
Auto output = std :: find_first_of (list1.commencer(),
liste 1.end (), list2.begin (), list2.fin());
// Lire la position du numéro de correspondance
int position = std :: Distance (list1.begin (), sortie);
// Vérifiez n'importe quel nombre de listes 1 correspondant à n'importe quel nombre de lis
si (sortie < list1.end())
std :: cout << "The first matching number " <<
list1 [position] << " found at position " <<
position << "\n";

autre
std :: cout << "No matching number found.\n";

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus. La valeur du nombre, 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 numéro à 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 être en mesure d'utiliser cette fonction correctement après avoir lu ce tutoriel.