Ein Stringstream verknüpft ein String-Objekt mit einem Stream, sodass Sie aus dem String lesen können, als wäre es ein Stream (wie cin). Um Stringstream verwenden zu können, müssen wir Folgendes einschließen Strom Header-Datei. Die Stringstream-Klasse ist beim Parsen von Eingaben äußerst nützlich.
Grundlegende Methoden sind:
- clear() – Um den Stream zu löschen. str() – Zum Abrufen und Festlegen eines String-Objekts, dessen Inhalt im Stream vorhanden ist. Operator <<- Fügen Sie dem Stringstream-Objekt eine Zeichenfolge hinzu. Operator>>- Liest etwas aus dem Stringstream-Objekt.
Beispiele:
1. Zählen Sie die Anzahl der Wörter in einer Zeichenfolge
Beispiele:
Eingang: Asipu Pawan Kumar
Ausgabe: 3Eingang: Geeks für Geeks-Idee
Ausgabe: 4
Nachfolgend finden Sie das C++-Programm zur Implementierung des oben genannten Ansatzes:
C++
Java-String-Replaceall
// C++ program to count words in> // a string using stringstream.> #include> #include> #include> using> namespace> std;> int> countWords(string str)> {> >// Breaking input into word> >// using string stream> > >// Used for breaking words> >stringstream s(str);> > >// To store individual words> >string word;> >int> count = 0;> >while> (s>> Wort)> >count++;> >return> count;> }> // Driver code> int> main()> {> >string s =>'geeks for geeks geeks '> >'contribution placements'>;> >cout <<>' Number of words are: '> << countWords(s);> >return> 0;> }> |
>
>Ausgabe
Number of words are: 6>
Zeitkomplexität: O(n*log(n)).
Nebenraum: An).
2. Geben Sie die Häufigkeit einzelner Wörter in einer Zeichenfolge aus
Beispiele:
Eingang: Geeks für Geeks Quiz Geeks Quiz Übungspraxis
Ausgabe: Für -> 1
Geeks -> 3
Üben -> 2
Quiz -> 2Eingang: Wortzeichenfolge-Häufigkeitszeichenfolge
Ausgabe: Häufigkeit -> 1
Zeichenfolge -> 2
Wort -> 1
Nachfolgend finden Sie das C++-Programm zur Implementierung des oben genannten Ansatzes:
np.log
C++
Java-Einfügungssortierung
// C++ program to demonstrate use> // of stringstream to count> // frequencies of words.> #include> using> namespace> std;> void> printFrequency(string st)> {> >// Each word it mapped to> >// it's frequency> >mapint>FW; // Wird zum Umbrechen von Wörtern verwendet stringstream ss(st); // Um einzelne Wörter zu speichern string Word; while (ss>> Word) FW[Word]++; für (auto m : FW) cout<< m.first << '->'<< m.second << '
'; } // Driver code int main() { string s = 'Geeks For Geeks Ide'; printFrequency(s); return 0; }> |
>
>Ausgabe
For->1 Geeks-> 2 Ide-> 1>
Zeitkomplexität: O(n*log(n)).
Nebenraum: An).
3. Konvertieren Sie eine Ganzzahl in einen String
Seitdem funktionieren die Einfügungs- und Extraktionsoperatoren von String Stream mit unterschiedlichen Datentypen. Deshalb funktioniert es gut mit ganzen Zahlen.
Wir fügen eine Ganzzahl in den String-Stream ein und nachdem wir diese in einen String extrahiert haben, wird dieser Ganzzahlwert zu einem String.
Code-
C++
abstrakte Java-Klasse
// C++ program to demonstrate the> // use of a stringstream to> // convert int to string> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >int> val=123;> >// object from the class stringstream> >stringstream geek;> >// inserting integer val in geek stream> >geek << val;> >// The object has the value 123> >// and stream it to the string x> >string x;> >geek>> x;> >// Now the string x holds the> >// value 123> >cout<'4'< return 0; }> |
>
>Ausgabe
1234>
Zeitkomplexität: O(n) ,n ist die Länge der Ganzzahl
Hilfsraum: O(n)
Leerzeichen aus einer Zeichenfolge mit Stringstream entfernen
Konvertieren von Zeichenfolgen in Zahlen in C/C++