Dans cet article, nous explorerons certaines des façons courantes de diviser une chaîne à l'aide d'un délimiteur en c++.
Clissons divisés en utilisant le délimiteur en C++
En C ++, il existe plusieurs approches pour briser une chaîne à l'aide d'un délimiteur, notamment:
1: en utilisant les fonctions find () et substr ()
Une chaîne peut être divisée en utilisant les fonctions C ++ trouver() et substr (). La première instance de sous-chaîne est située en utilisant le trouver() méthode. S'il n'y a plus d'occurrences, la pièce restante de la chaîne sera retournée après avoir été placée dans le vecteur. La sous-chaîne commençant au début du texte et se terminant au niveau du délimiteur peut ensuite être extraite en utilisant le substr () fonction. Nous pouvons continuer à le faire jusqu'à ce que toutes les sous-chaînes aient été obtenues.
Voici un exemple C ++ de la façon de diviser une chaîne à l'aide d'un délimiteur:
#inclureDans l'exemple ci-dessus, une chaîne nommée "Str" et un délimiteur nommé «Demiter» sont définis. Les sous-chaînes de "Str" sont ensuite extraits en utilisant une boucle de temps. L'emplacement du délimiteur est retourné par le trouver() Méthode, ou std :: String :: NPOS S'il ne peut pas être localisé. La sous-chaîne depuis le début de "Str" Jusqu'au délimiteur est extrait en utilisant «Substr ()» À cet endroit, et il est ensuite imprimé sur la console. La sous-chaîne extraite et le délimiteur sont ensuite retirés de "Str" en utilisant le "effacer()" fonction. Une fois qu'il n'y a plus de délimiteurs dans "Str", Nous répétons cette opération. Ensuite, nous avons sorti la dernière sous-chaîne "cerise" à la console.
Sortir
2: Utilisation de la fonction strtok ()
Le strtok () La fonction est une autre fonction en C ++ qui peut efficacement diviser les chaînes à l'aide d'un délimiteur dans n'importe quel programme C ++. Il retire deux entrées; la chaîne à diviser et le caractère délimiteur. Voici une implémentation de strtok () Fonction dans C ++:
#inclureLe strtok () La fonction est utilisée dans le code ci-dessus pour briser une chaîne d'entrée fournie par l'utilisateur dans les jetons, en utilisant une virgule et un espace comme délimiter. Ensuite, il publie chaque jeton sur la console sur une ligne séparée. Ceci est accompli en stockant la chaîne d'entrée dans un tableau char, en itérant sur les jetons avec un pointeur char, puis en divisant la chaîne à plusieurs reprises jusqu'à ce que tous les jetons aient été affichés.
Sortir
3: Utilisation de la classe Stringstream
En utilisant le La classe est une autre technique pour diviser une chaîne en C++. Il est possible d'entrer et de sortir des données formatées, y compris des chaînes, en utilisant cette classe. Une chaîne qui est gérée en tant que flux peut avoir des sous-chaînes extraites getline () méthode. Le getline () La méthode extrait la sous-chaîne jusqu'au délimiteur si nous lui fournissons le délimiteur en tant que paramètre.
Voici une illustration de la façon de diviser une chaîne en c++ en utilisant le Stringstream () fonction.
#inclureDans le code ci-dessus, un caractère délimiteur est utilisé pour diviser une chaîne d'entrée en jetons en utilisant . Avant d'extraire chaque jeton du En utilisant le délimiteur, le programme initialise un objet avec la chaîne d'entrée. Un vecteur de cordes est ensuite élargi par chaque jeton. Le programme se déroule ensuite à travers le vecteur, imprimant chaque jeton à la console à la fin.
Sortir
Conclusion
La division d'une chaîne à l'aide d'un délimiteur est une approche efficace en C ++ et il existe plusieurs fonctions intégrées en C ++ qui permettent de diviser les chaînes. Ces fonctions incluent find (), substr (), strtok () et brise classe. Les développeurs devraient considérer les exigences spécifiques de leur application et choisir la fonction qui fonctionne le mieux pour eux.