"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je diviser efficacement des chaînes C++ à l’aide de jetons ?

Comment puis-je diviser efficacement des chaînes C++ à l’aide de jetons ?

Publié le 2024-11-17
Parcourir:728

How Can I Efficiently Split C   Strings Using Tokens?

Diviser efficacement les chaînes C à l'aide de jetons

Pour diviser une chaîne C std::string en sous-chaînes en fonction des jetons spécifiés, il existe plusieurs approches peut envisager. La solution la plus efficace dépend des exigences spécifiques de votre application.

Dans votre cas, où les chaînes sont séparées par ; caractères et que l'utilisation des fonctions de chaîne C et de Boost est restreinte, vous pouvez utiliser la fonction std::getline(). Cette fonction vous permet de lire les données d'un flux dans une chaîne, en vous arrêtant à un délimiteur spécifié.

En suivant cette approche, voici un exemple simple utilisant std::getline() pour diviser votre chaîne en sous-chaînes distinctes et stocker les dans un vecteur :

#include 
#include 
#include 

using namespace std;

int main() {
    string input = "denmark;sweden;india;us";
    istringstream stream(input);

    vector split_strings;
    string token;

    // Read substrings separated by ';'
    while (getline(stream, token, ';')) {
        cout 

Ce code montre comment lire la chaîne caractère par caractère à l'aide de std::getline(), la diviser en fonction du ; délimiteur et stocker les sous-chaînes individuelles dans un vecteur.

En utilisant cette approche, vous pouvez diviser efficacement votre chaîne en jetons et effectuer toutes les opérations de traitement ou de stockage nécessaires selon les besoins de votre application.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3