Maison > développement back-end > C++ > Comment puis-je utiliser Stringstream pour diviser des chaînes séparées par des virgules en C ?

Comment puis-je utiliser Stringstream pour diviser des chaînes séparées par des virgules en C ?

Barbara Streisand
Libérer: 2024-12-04 07:21:12
original
811 Les gens l'ont consulté

How Can I Use Stringstream to Split Comma-Separated Strings in C  ?

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

En C , un stringstream est un flux qui opère sur un objet chaîne. Il peut être utilisé pour lire ou écrire dans une chaîne. Un cas d'utilisation courant d'un stringstream consiste à diviser une chaîne en jetons.

Utiliser Stringstream pour séparer les chaînes par des virgules

Les opérateurs stringstream standard, tels que > > opérateur, peut être utilisé pour séparer les chaînes par des espaces. Cependant, il ne peut pas être utilisé pour séparer des chaînes par d'autres délimiteurs, tels que des virgules. Pour surmonter cette limitation, une approche alternative peut être utilisée.

La fonction getline() de la classe istringstream peut être utilisée pour lire une ligne du stringstream jusqu'à ce qu'un délimiteur soit rencontré. En spécifiant une virgule (',') comme délimiteur dans la fonction getline(), il est possible de diviser la chaîne d'entrée en jetons séparés par des virgules.

Exemple

Le code suivant montre comment utiliser un stringstream pour séparer les chaînes séparées par des virgules :

#include <iostream>
#include <sstream>

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

while(std::getline(ss, token, ',')) {
    std::cout << token << '\n';
}
Copier après la connexion

Ce code produira le résultat suivant :

abc
def
ghi
Copier après la connexion

L'utilisation de la fonction getline() avec un délimiteur spécifié fournit un moyen pratique de diviser des chaînes séparées par des virgules en jetons individuels à l'aide d'un flux de chaînes.

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