Maison > développement back-end > C++ > Comment puis-je séparer efficacement les chaînes délimitées par des virgules en C ?

Comment puis-je séparer efficacement les chaînes délimitées par des virgules en C ?

Patricia Arquette
Libérer: 2024-11-27 17:36:14
original
304 Les gens l'ont consulté

How Can I Efficiently Separate Comma-Delimited Strings in C  ?

Séparation de chaînes délimitées par des virgules à l'aide de Stringstream

Dans le problème fourni, la tâche consiste à séparer une chaîne délimitée par des virgules en jetons individuels. Bien que l'opérateur stringstream:: puisse séparer sans effort les mots par des espaces, il ne parvient pas à utiliser des virgules.

Pour surmonter ce défi, nous employons une approche modifiée :

#include <iostream>
#include <sstream>

int main() {
  std::string input = "abc,def,ghi";
  std::istringstream ss(input);
  std::string token;

  // Use getline to separate by commas
  while (std::getline(ss, token, ',')) {
    std::cout << token << '\n';
  }

  return 0;
}
Copier après la connexion

Dans ce code modifié :

  • Nous utilisons std::getline au lieu de std::stringstream::operator>>. getline peut extraire des sous-chaînes jusqu'à un délimiteur spécifié (dans ce cas, une virgule).
  • Nous parcourons le flux d'entrée jusqu'à ce qu'aucun jeton ne soit trouvé.
  • Pour chaque jeton, nous l'imprimons sur une nouvelle ligne.
  • La sortie sépare avec précision la chaîne d'entrée en jetons individuels :

    abc
    def
    ghi
    Copier après la connexion

    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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal