En strengstrøm forbinder et strengobjekt med en strøm, så du kan læse fra strengen, som om det var en strøm (som cin). For at bruge stringstream skal vi inkludere sstream header-fil. Stringstream-klassen er yderst nyttig til at parse input.
Grundlæggende metoder er:
- clear()- For at rydde strømmen. str()- For at hente og indstille et strengobjekt, hvis indhold er til stede i strømmen. operator <<- Tilføj en streng til stringstream-objektet. operator>>- Læs noget fra stringstream-objektet.
Eksempler:
1. Tæl antallet af ord i en streng
Eksempler:
Input: Asipu Pawan Kumar
Produktion: 3Input: Nørder For Nørder Ide
Produktion: 4
Nedenfor er C++-programmet til at implementere ovenstående tilgang-
C++
// 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>> ord)> >count++;> >return> count;> }> // Driver code> int> main()> {> >string s =>'geeks for geeks geeks '> >'contribution placements'>;> >cout <<>' Number of words are: '> << countWords(s);> >return> 0;> }> |
javascript onclick
>
>Produktion
Number of words are: 6>
Tidskompleksitet: O(n*log(n)).
Hjælpeplads: På).
2. Udskriv frekvenser af individuelle ord i en streng
Eksempler:
Input: Nørder for nørder Quiz Nørder Quiz Øvelser
Produktion: For -> 1
Nørder -> 3
Øvelse -> 2
Quiz -> 2Input: Word String Frequency String
Produktion: Frekvens -> 1
Streng -> 2
Ord -> 1
Nedenfor er C++-programmet til at implementere ovenstående tilgang-
hvor mange ounces er 10 milliliter
C++
// 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; // Bruges til at bryde ord stringstream ss(st); // For at gemme individuelle ord streng Word; while (ss>> Word) FW[Word]++; for (auto m : FW) cout<< m.first << '->'<< m.second << '
'; } // Driver code int main() { string s = 'Geeks For Geeks Ide'; printFrequency(s); return 0; }> |
>
>Produktion
For->1 Nørder-> 2 Ide-> 1>
Tidskompleksitet: O(n*log(n)).
Hjælpeplads: På).
konvertere en streng til et heltal
3. Konverter heltal til streng
Siden arbejder indsættelses- og udtræksoperatørerne af strengstrøm med forskellige datatyper. Så derfor fungerer det godt med heltal.
Vi vil indsætte et heltal i strengstrømmen, og efter at have udtrukket det i en streng, bliver den heltalværdi til en streng.
Kode-
C++
// 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; }> |
>
>Produktion
1234>
Tidskompleksitet: O(n) ,n er længden af hele tallet
Hjælpeplads: O(n)
Fjernelse af mellemrum fra en streng ved hjælp af Stringstream
Konvertering af strenge til tal i C/C++