Maison >développement back-end >C++ >Comment diviser un std::string C à 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; }
Dans ce code :
Dans la boucle while :
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!