stringstream class c usage examples
Eine Stringstream-Klasse in C ++ ist eine Stream-Klasse für Strings. Die Stringstream-Klasse implementiert die Eingabe- / Ausgabeoperationen in Speicherbasis-Streams, d. H. String:
Mit der Stringstream-Klasse in C ++ kann ein String-Objekt als Stream behandelt werden. Es wird verwendet, um Saiten zu bearbeiten. Indem wir die Zeichenfolgen als Streams behandeln, können wir wie bei cin- und cout-Streams Extraktions- und Einfügevorgänge von / zu Zeichenfolgen ausführen.
Diese Arten von Operationen sind meistens nützlich, um Zeichenfolgen in numerische Datentypen zu konvertieren und umgekehrt. Die Stringstream-Klasse erweist sich auch bei verschiedenen Arten der Analyse als hilfreich.
=> Lesen Sie die Easy C ++ - Schulungsserie durch.
Was du lernen wirst:
- Stringstream-Klasse In C ++
- Fazit
Stringstream-Klasse In C ++
Eine Stringstream-Klasse kann wie folgt bildlich dargestellt werden:
Wir können sehen, wo die Stringstream-Klasse im ios-Diagramm ins Bild kommt. Diese Klasse leitet sich von der iostream-Klasse ab. Objekte der Stringstream-Klasse verwenden einen String-Puffer, der eine Folge von Zeichen enthält. Auf diesen Puffer kann direkt als String-Objekt zugegriffen werden.
Zu diesem Zweck können wir das str-Member des Stringstreams verwenden. Um die Stringstream-Klasse im C ++ - Programm zu verwenden, müssen wir den Header verwenden .
Zum Beispiel,Der Code zum Extrahieren einer Ganzzahl aus der Zeichenfolge lautet:
string mystr(“2019”); int myInt; stringstream (mystr)>>myInt;
Hier deklarieren wir ein String-Objekt mit dem Wert '2019' und ein int-Objekt 'myInt'. Als Nächstes verwenden wir den Stringstream-Klassenkonstruktor, um ein Stringstream-Objekt aus dem String-Objekt zu erstellen. Anschließend wird der Wert mit dem Extraktionsoperator (>>) in myInt extrahiert. Aus dem obigen Code ergibt sich der Wert von myInt für 2019.
Lassen Sie uns die verschiedenen Operationen der Stringstream-Klasse untersuchen.
Einfüge- und Extraktionsvorgänge mit stringstream
Nun werden wir sehen, wie Daten in den Stringstream oder die Einfügeoperation abgerufen werden und wie Daten aus dem Stringstream abgerufen werden, d. H. Die Extraktionsoperation der Stringstream-Klasse.
# 1) Einfügevorgang
Um die Daten in einen Stringstream zu bekommen, können wir zwei Methoden verwenden.
(i) Verwenden des Einfügeoperators (<<)
Top 5 MP3 Downloader für Android
Bei einem gegebenen Stringstream-Objekt ss können wir dem ss-Puffer Daten wie folgt zuweisen, indem wir das verwenden<< operator.
stringstream ss; ss<< “hello,world!!”;
Dies fügt 'Hallo, Welt !!' in den Stringstream ss.
(ii) Verwenden der Funktion str (string)
Wir können die str-Funktion auch zum Zuweisen von Daten zum Stringstream-Puffer verwenden. Die Funktion str verwendet die Datenzeichenfolge als Argument und weist diese Daten dem Zeichenfolgenstromobjekt zu.
stringstream ss; ss.str(“Hello,World!!”);
# 2) Extraktionsvorgang
Wir haben zwei Methoden, um die Daten aus dem Stringstream oder für die Extraktionsoperation zu erhalten.
(i) Verwenden der Funktion str ()
Wir können die Funktion str () verwenden, um die Daten wie folgt aus dem Stringstream zu entfernen.
stringstream ss; ss<<”Hello,World”; cout< (ii) Verwenden des Extraktionsoperators (>>)
Wir können den Extraktionsoperator verwenden, um die Stringstream-Daten wie folgt anzuzeigen.
Stringstream ss; ss<>str;
Gemäß dem obigen Code hat die Variable str als Ergebnis der Aktion des Extraktionsoperators den Wert des ss-Objekts.
Im Folgenden finden Sie ein vollständiges Programm, das die Verwendung von Einfüge- und Extraktionsoperationen der Stringstream-Klasse demonstriert.
#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< Ausgabe:
In dem obigen Programm haben wir zuerst die Einfügemethoden gezeigt, d. H. Den Operator<< and str(string) function that reads the string into stringstream.
wie man einem Array Werte hinzufügt
Als nächstes haben wir die Funktionsweise von Extraktionsmethoden gesehen, bei denen es sich um die Funktion str () handelt, die die Daten aus dem Stringstream und dem Operator >> abruft.
Beachten Sie, dass für Operator >>, da die anfänglichen Stringstream-Daten aus Leerzeichen bestehen, während die Daten einer Zeichenfolgenvariablen zugewiesen werden, nur bis zum ersten Leerzeichen gelesen wird. Um das gesamte Stringstream-Objekt in String-Daten umzuwandeln, benötigen wir jeweils eine Variable, um die durch Leerzeichen getrennten Daten zu lesen.
Daher benötigen wir im obigen Programm drei Zeichenfolgenvariablen, um die gesamten Stringstream-Objektdaten abzurufen.
Anwendungen von Stringstream in C ++
Wir können die Verwendung der Stringstream-Klasse in verschiedenen Anwendungen finden.
Einige der Anwendungen wurden unten als Referenz erläutert:
# 1) Konvertierung zwischen Zeichenfolgen und Zahlen
Einfüge- und Extraktionsoperatoren des Stringstreams arbeiten mit allen grundlegenden Datentypen. Daher können wir sie verwenden, um Zeichenfolgen in numerische Typen umzuwandeln und umgekehrt.
Das vollständige Programm zur Konvertierung zwischen Zeichenfolgen und Zahlen finden Sie unten.
#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:'< Ausgabe:
Zuerst haben wir numerische Werte in Zeichenfolgenwerte konvertiert. Als nächstes konvertieren wir numerische Zeichenfolgenwerte in numerische Werte.
# 2) Zählen der Anzahl der Wörter in einer Zeichenfolge
Wir können die Stringstream-Klasse verwenden, um die Anzahl der Wörter in einer Zeichenfolge zu zählen. Das vollständige Programm ist unten angegeben.
#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; }
Ausgabe:
Die Anzahl der Wörter in einer bestimmten Zeichenfolge beträgt: 9
Um die Anzahl der Wörter in einer bestimmten Zeichenfolge zu zählen, konvertieren wir sie zuerst in das Stringstream-Objekt. Dann zählen wir jedes Wort mit einem Extraktionsoperator (der an jedem Leerzeichen stoppt) in einer Schleife. Schließlich drucken wir den Wert der Gesamtzahl der Wörter.
Beispiel für Sortier-C ++ zusammenführen
# 3) Drucken Sie einzelne Wortfrequenzen in einer Zeichenfolge
Die nächste Anwendung von stringstream in C ++ besteht darin, die Häufigkeit verschiedener Wörter in einer bestimmten Zeichenfolge zu drucken. Dies bedeutet, dass wir drucken, wie oft ein bestimmtes Wort in der angegebenen Zeichenfolge vorkommt.
Zu diesem Zweck haben wir eine Kartenstruktur beibehalten, die ein Schlüssel-Wert-Paar mit jedem Wort in der Zeichenfolge als Schlüssel enthält und dessen entsprechender Wert die Häufigkeit dieses bestimmten Wortes ist.
Das vollständige C ++ - Programm ist unten dargestellt.
#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 Ausgabe:
In diesem Programm wird jedes Wort in der Zeichenfolge in die Karte eingegeben, und dann wird die Anzahl oder Häufigkeit jedes Wortes als Wert für den entsprechenden Schlüssel in der Karte aufgezeichnet. Auf diese Weise geben wir alle Wörter der Zeichenfolge und ihre entsprechenden Frequenzen aus.
Fazit
Die Stringstream-Klasse wird zum Einfügen und Extrahieren von Daten in / aus den String-Objekten verwendet. Es fungiert als Stream für das String-Objekt. Die Stringstream-Klasse ähnelt Cin- und Cout-Streams, verfügt jedoch nicht über einen Eingabe-Ausgabe-Kanal.
Wir haben verschiedene Operationen der Stringstream-Klasse zusammen mit einigen Beispielen ihrer Anwendungen in der Programmierung diskutiert.
In unseren nachfolgenden Tutorials werden wir die Bibliotheksfunktionen der C ++ - Sprache ausführlich diskutieren.
=> Suchen Sie hier nach der gesamten C ++ - Schulungsserie.
Literatur-Empfehlungen
- Verwendung des Cursors in MongoDB mit Beispielen
- Verwendung von ObjectId () in MongoDB mit Beispielen
- Erfahren Sie anhand von Beispielen, wie Sie die C # StringBuilder-Klasse und ihre Methoden verwenden
- Java Interface und Abstract Class Tutorial mit Beispielen
- Beispiele für die Selen-Behauptung - Praktische Anwendungen in Projekten
- MongoDB-Abfragedokument mit der Find () -Methode (Beispiele)
- C # String Tutorial - String-Methoden mit Codebeispielen
- Entdecken Sie die Grundlagen von Java in Selen anhand von Beispielen