stringstream class c usage examples
Une classe stringstream en C ++ est une classe Stream à utiliser sur des chaînes. La classe stringstream implémente les opérations d'entrée / sortie sur les flux de bases de mémoire, c'est-à-dire string:
La classe stringstream en C ++ permet à un objet chaîne d'être traité comme un flux. Il est utilisé pour opérer sur des chaînes. En traitant les chaînes comme des flux, nous pouvons effectuer des opérations d'extraction et d'insertion de / vers une chaîne comme les flux cin et cout.
Ces types d'opérations sont principalement utiles pour convertir une chaîne en types de données numériques et vice versa. La classe stringstream s'avère également utile dans différents types d'analyse.
=> Lisez la série de formations Easy C ++.
Ce que vous apprendrez:
- Classe stringstream en C ++
- Conclusion
Classe stringstream en C ++
Une classe stringstream peut être représentée graphiquement comme suit:
Nous pouvons voir où la classe stringstream entre dans l'image dans le diagramme ios. Cette classe est dérivée de la classe iostream. Les objets de la classe stringstream utilisent un tampon de chaîne contenant une séquence de caractères. Ce tampon est accessible directement en tant qu'objet chaîne.
Nous pouvons utiliser le membre str du stringstream à cette fin. Pour utiliser la classe stringstream dans le programme C ++, nous devons utiliser l'en-tête .
Par exemple,le code pour extraire un entier de la chaîne serait:
string mystr(“2019”); int myInt; stringstream (mystr)>>myInt;
Ici, nous déclarons un objet string avec la valeur «2019» et un objet int «myInt». Ensuite, nous utilisons le constructeur de classe stringstream pour construire un objet stringstream à partir de l'objet string. Puis en utilisant l'opérateur d'extraction (>>), la valeur est extraite dans myInt. À partir du code ci-dessus, la valeur de myInt sera 2019.
Explorons les différentes opérations de la classe stringstream.
Opérations d'insertion et d'extraction à l'aide de stringstream
Nous allons maintenant voir comment obtenir des données dans le stringstream ou l'opération d'insertion et comment extraire des données du stringstream, c'est-à-dire l'opération d'extraction de la classe stringstream.
# 1) Opération d'insertion
Afin d'obtenir les données dans un flux de chaînes, nous pouvons utiliser deux méthodes.
(i) Utilisation de l'opérateur d'insertion (<<)
c ++ rand entre 0 et 1
Étant donné un objet stringstream ss, nous pouvons affecter des données au tampon ss comme suit en utilisant le<< operator.
stringstream ss; ss<< “hello,world!!”;
Cela insère 'bonjour, monde !!' dans le stringstream ss.
(ii) Utilisation de la fonction str (string)
Nous pouvons également utiliser la fonction str pour affecter des données au tampon stringstream. La fonction str prend la chaîne de données comme argument et affecte ces données à l'objet stringstream.
stringstream ss; ss.str(“Hello,World!!”);
# 2) Opération d'extraction
Nous avons deux méthodes pour extraire les données de stringstream ou pour l'opération d'extraction.
(i) Utilisation de la fonction str ()
Nous pouvons utiliser la fonction str () pour extraire les données de stringstream comme suit.
stringstream ss; ss<<”Hello,World”; cout< (ii) Utilisation de l'opérateur d'extraction (>>)
Nous pouvons utiliser l'opérateur d'extraction pour afficher les données stringstream comme suit.
Stringstream ss; ss<>str;
Conformément au code ci-dessus, la variable str aura la valeur de l'objet ss suite à l'action de l'opérateur d'extraction.
Vous trouverez ci-dessous un programme complet qui démontre l'utilisation des opérations d'insertion et d'extraction de la classe stringstream.
#include #include #include using namespace std; int main() { //insertion operator << stringstream os; os << 'software '; cout<) stringstream ss; ss<> mystr1; string mystr2; ss>>mystr2; string mystr3; ss>>mystr3; cout< Production:
Dans le programme ci-dessus, nous avons montré les méthodes d'insertion en premier, c'est-à-dire l'opérateur<< and str(string) function that reads the string into stringstream.
Ensuite, nous avons vu le fonctionnement des méthodes d'extraction qui sont la fonction str () qui extrait les données du flux de chaînes et de l'opérateur >>.
comment ouvrir le fichier json dans windows
Notez que pour l'opérateur >>, comme les données initiales du flux de chaînes se composent d'espaces blancs lors de l'affectation des données à une variable de chaîne, elles ne seront lues que jusqu'au premier espace. Par conséquent, pour convertir l'ensemble de l'objet stringstream en données de chaîne, nous avons besoin d'une variable chacun pour lire les données séparées par des espaces.
Par conséquent, dans le programme ci-dessus, nous avons besoin de trois variables de chaîne pour obtenir l'intégralité des données d'objet stringstream.
Applications de stringstream en C ++
Nous pouvons trouver les utilisations de la classe stringstream dans diverses applications.
Certaines des applications ont été discutées ci-dessous pour votre référence:
# 1) Conversion entre chaînes et nombres
Les opérateurs d'insertion et d'extraction du flux de chaînes fonctionnent avec tous les types de données de base. Nous pouvons donc les utiliser pour convertir des chaînes en types numériques et vice versa.
Le programme complet de conversion entre chaînes et nombres est donné ci-dessous.
#include #include #include using namespace std; int main() { //Numeric to string stringstream ss; int nInt = 2019; double nDouble = 3.142; ss << nInt << ' ' <> myStr1 >> myStr2; cout<<'The numeric values converted to string:'<> nIntval >> nDoubleval; cout<<'The string values converted to numeric types:'< Production:
Tout d'abord, nous avons converti les valeurs numériques en valeurs de chaîne. Ensuite, nous convertissons les valeurs de chaînes numériques en valeurs numériques.
# 2) Compter le nombre de mots dans une chaîne
Nous pouvons utiliser la classe stringstream pour compter le nombre de mots dans une chaîne. Le programme complet est donné ci-dessous.
#include #include #include using namespace std; int main() { string str = 'Simple Questions To Check Your Software Testing Basic Knowledge'; stringstream s(str); string word; int count = 0; while (s >> word) count++; cout << ' Number of words in given string are: ' << count; return 0; }
Production:
Le nombre de mots dans une chaîne donnée est: 9
Pour compter le nombre de mots dans une chaîne donnée, nous la convertissons d'abord en objet stringstream. Ensuite, nous comptons chaque mot en utilisant un opérateur d'extraction (car il s'arrête à chaque espace) dans une boucle. Enfin, nous imprimons la valeur du nombre total de mots.
# 3) Imprimer les fréquences de mot individuelles dans une chaîne
La prochaine application de stringstream en C ++ est d'imprimer les fréquences de différents mots dans une chaîne donnée. Cela signifie que nous allons imprimer, combien de fois un mot particulier apparaît dans la chaîne donnée.
Pour cela, nous avons conservé une structure de carte qui aura une paire clé-valeur avec chaque mot de la chaîne en tant que clé et sa valeur correspondante est la fréquence de ce mot particulier.
les deux principaux éléments testés dans le test d'intégration sont les interfaces et les résultats attendus.
Le programme C ++ complet est illustré ci-dessous.
#include #include #include #include using namespace std; int main() { string mystr = 'Simple Questions To Check Your Software Testing Knowledge '; map myMap; stringstream ss(mystr); string Word; while (ss >> Word) myMap(Word)++; map::iterator it; for (it = myMap.begin(); it != myMap.end(); it++) cout Production:
Dans ce programme, chaque mot de la chaîne est entré dans la carte, puis le nombre ou la fréquence de chaque mot est enregistré comme une valeur pour la clé correspondante dans la carte. De cette façon, nous sortons tous les mots de la chaîne et leurs fréquences correspondantes.
Conclusion
La classe Stringstream est utilisée pour l'insertion et l'extraction de données vers / depuis les objets string. Il agit comme un flux pour l'objet string. La classe stringstream est similaire aux streams cin et cout sauf qu'elle n'a pas de canal d'entrée-sortie.
Nous avons discuté de diverses opérations de la classe stringstream avec plusieurs exemples de ses applications en programmation.
Dans nos tutoriels ultérieurs, nous discuterons en détail des fonctions de bibliothèque du langage C ++.
=> Recherchez la série complète de formations C ++ ici.
lecture recommandée
- Utilisation du curseur dans MongoDB avec des exemples
- Utilisation d'ObjectId () dans MongoDB avec des exemples
- Apprenez à utiliser la classe C # StringBuilder et ses méthodes avec des exemples
- Tutoriel sur l'interface Java et les classes abstraites avec des exemples
- Exemples d'assertion de sélénium - Applications pratiques dans les projets
- Document de requête MongoDB utilisant la méthode Find () (exemples)
- Tutoriel C # String - Méthodes de chaîne avec des exemples de code
- Explorez les bases de Java dans Selenium avec des exemples