En strengstrøm assosierer et strengobjekt med en strøm slik at du kan lese fra strengen som om den var en strøm (som cin). For å bruke stringstream må vi inkludere sstream header-fil. Stringstream-klassen er ekstremt nyttig for å analysere input.
Grunnleggende metoder er:
- clear()- For å tømme strømmen. str()- For å hente og sette strengobjekt hvis innhold er tilstede i strømmen. operator <<- Legg til en streng til stringstream-objektet. operator>>- Les noe fra stringstream-objektet.
Eksempler:
1. Tell antall ord i en streng
Eksempler:
Inndata: Asipu Pawan Kumar
Produksjon: 3Inndata: Geeks For Geeks Ide
Produksjon: 4
Nedenfor er C++-programmet for å implementere tilnærmingen ovenfor-
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;> }> |
stable java
>
>Produksjon
Number of words are: 6>
Tidskompleksitet: O(n*log(n)).
Ekstra plass: På).
2. Skriv ut frekvenser for individuelle ord i en streng
Eksempler:
Inndata: Geeks For Geeks Quiz Geeks Quiz Practice Practice
Produksjon: For -> 1
Geeks -> 3
Øvelse -> 2
Quiz -> 2Inndata: Ordstreng Frekvensstreng
Produksjon: Frekvens -> 1
String -> 2
Ord -> 1
Nedenfor er C++-programmet for å implementere tilnærmingen ovenfor-
lambda funksjon java
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; // Brukes for å bryte ord stringstream ss(st); // For å lagre 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; }> |
>
>Produksjon
For->1 Geeks-> 2 Ide-> 1>
Tidskompleksitet: O(n*log(n)).
Ekstra plass: På).
klippeverktøy i ubuntu
3. Konverter heltall til streng
Siden, innsettings- og uttrekksoperatørene til strengstrøm fungerer med forskjellige datatyper. Så derfor fungerer det bra med heltall.
Vi vil sette inn et heltall i strengstrømmen, og etter å ha trukket det ut i en streng, vil den heltallsverdien bli 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; }> |
>
>Produksjon
1234>
Tidskompleksitet: O(n) ,n er lengden på heltallet
Hjelpemellomrom: O(n)
Fjerne mellomrom fra en streng ved hjelp av Stringstream
Konvertere strenger til tall i C/C++