logo

stringstream i C++ og dets applikationer

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

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

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