Maison > développement back-end > C++ > Comment diviser un std::string C à l'aide de jetons (';') ?

Comment diviser un std::string C à l'aide de jetons (';') ?

DDD
Libérer: 2024-11-22 19:29:13
original
1110 Les gens l'ont consulté

How to Split a C   std::string Using Tokens (

Diviser C std::string à l'aide de jetons (";")

En supposant que vous ayez une chaîne composée de mots séparés par des points-virgules (";"), vous visez pour diviser cette chaîne en un vecteur de mots séparés.

Pour y parvenir, vous pouvez exploiter la fonction de bibliothèque standard std::getline. Il vous permet de lire les données d'un flux de chaînes, en les traitant comme une séquence de lignes. En définissant un délimiteur, vous pouvez demander à std::getline de diviser la chaîne en sous-chaînes en fonction de ce délimiteur.

Voici un exemple de code montrant comment procéder :

#include <sstream>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<string> strings;
    istringstream f("denmark;sweden;india;us");
    string s;

    while (getline(f, s, ';')) {
        cout << s << endl;
        strings.push_back(s);
    }

    return 0;
}
Copier après la connexion

Dans ce code :

  • Une chaîne vectorielle est créée pour stocker le fractionnement sous-chaînes.
  • Un flux de chaîne f est initialisé avec la chaîne d'entrée contenant les mots séparés par des points-virgules.
  • Dans la boucle while :

    • getline est invoqué avec le délimiteur ';' pour extraire la sous-chaîne suivante du flux de chaînes.
    • La sous-chaîne extraite est imprimée et ajoutée au vecteur de chaînes.

Cette approche fournit une approche simple et moyen efficace de diviser une chaîne à l'aide d'un jeton spécifié, tel que ";".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal