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'; }
Ce code produira le résultat suivant :
abc def ghi
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!