logo

stringstream i C++ og dens applikasjoner

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: 3

Inndata: 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 -> 2

Inndata: 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++