stringstream class c usage examples
Razred niza v C ++ je razred pretoka, ki deluje na nizih. Razred stringstream implementira vhodno / izhodne operacije v tokovih pomnilniških baz, to je niz:
Razred stringstream v C ++ omogoča, da se objekt niza obravnava kot tok. Uporablja se za delovanje na strunah. Z obdelavo nizov kot tokov lahko izvedemo operacijo ekstrakcije in vstavljanja iz / v niz, tako kot tokovi cin in cout.
Te vrste operacij so večinoma uporabne za pretvorbo niza v numerične tipe podatkov in obratno. Razred stringstream se prav tako izkaže v pomoč pri različnih vrstah razčlenjevanja.
=> Preberite serijo Easy C ++ Training Series.
Kaj se boste naučili:
stringstream razred v C ++
Razred niza lahko slikovno predstavimo na naslednji način:
V diagramu ios lahko vidimo, kje na vrsto prihaja niz nizov. Ta razred izhaja iz razreda iostream. Predmeti razreda stringstream uporabljajo niz medpomnilnika, ki vsebuje zaporedje znakov. Do tega medpomnilnika je mogoče dostopati neposredno kot objekt niza.
V ta namen lahko uporabimo člana str niza. Če želimo uporabiti razred stringstream v programu C ++, moramo uporabiti glavo .
Na primer,koda za izločanje celoštevilčnega niza bi bila:
string mystr(“2019”); int myInt; stringstream (mystr)>>myInt;
Tu razglasimo nizni objekt z vrednostjo '2019' in int objekt 'myInt'. Nato s konstruktorjem razreda stringstream uporabimo objekt stringstream iz predmeta string. Nato se z uporabo operatorja ekstrakcije (>>) vrednost ekstrahira v myInt. Iz zgornje kode bo vrednost myInt 2019.
Raziščimo različne operacije razreda stringstream.
Operacije vstavljanja in ekstrakcije z uporabo niza nizov
Zdaj bomo videli, kako spraviti podatke v niz niza ali operacijo vstavljanja in kako izvleči podatke iz niza, tj. Operacijo ekstrakcije razreda niza.
# 1) Postopek vstavljanja
Za pridobitev podatkov v niz nizov lahko uporabimo dve metodi.
(i) Uporaba vstavitvenega operaterja (<<)
kako ustvariti naključna števila v jeziku c ++ med 0 in 100
Glede na niz nizov predmeta ss lahko ss vmesnemu pomnilniku dodelimo podatke na naslednji način z uporabo<< operator.
stringstream ss; ss<< “hello,world!!”;
To vstavi 'zdravo, svet !!' v niz nizov ss.
(ii) Uporaba funkcije str (string)
Funkcijo str lahko uporabimo tudi za dodeljevanje podatkov medpomnilniku niza nizov. Funkcija str vzame podatkovni niz kot argument in te podatke dodeli objektu niza nizov.
stringstream ss; ss.str(“Hello,World!!”);
# 2) Postopek ekstrakcije
Na voljo imamo dve metodi za pridobivanje podatkov iz nizov ali za operacijo ekstrakcije.
(i) Uporaba funkcije str ()
Funkcijo str () lahko uporabimo za pridobivanje podatkov iz niza, kot sledi.
stringstream ss; ss<<”Hello,World”; cout< (ii) Uporaba ekstrakcijskega operaterja (>>)
Operator ekstrakcije lahko uporabimo za prikaz nizov podatkov na naslednji način.
Stringstream ss; ss<>str;
V skladu z zgornjo kodo bo spremenljivka str imela vrednost objekta ss kot rezultat operacije ekstrakcije.
Spodaj je prikazan celoten program, ki prikazuje uporabo operacij vstavljanja in ekstrakcije razreda stringstream.
vprašanja za ročni preizkus za 3-letne izkušnje
#include #include #include using namespace std; int main() { //insertion operator << stringstream os; os << 'software '; cout<) stringstream ss; ss<> mystr1; string mystr2; ss>>mystr2; string mystr3; ss>>mystr3; cout< Izhod:

V zgornjem programu smo najprej prikazali metode vstavljanja, torej operator<< and str(string) function that reads the string into stringstream.
Nato smo videli delovanje ekstrakcijskih metod, ki so funkcija str (), ki pridobi podatke iz niza in operaterja >>.
Upoštevajte, da bo za operator >>, ker so začetni podatki niza sestavljeni iz presledkov, medtem ko jih dodeljuje spremenljivki niza, bral samo do prvega presledka. Za pretvorbo celotnega predmeta niza v podatke niza potrebujemo po eno spremenljivko za branje podatkov, ločenih s presledki.
Zato v zgornjem programu potrebujemo tri spremenljivke niza, da dobimo celotne podatke o objektih nizov.
Aplikacije nizov v C ++
Uporabe razreda streamstream lahko najdemo v različnih aplikacijah.
Spodaj so za vašo pozornost obravnavane nekatere aplikacije:
# 1) Pretvorba med nizi in številkami
Operatorji vstavljanja in ekstrakcije nizovnega niza delujejo z vsemi osnovnimi vrstami podatkov. Zato jih lahko uporabimo za pretvorbo nizov v številske vrste in obratno.
Celoten program za pretvorbo med nizi in števili je podan spodaj.
#include #include #include using namespace std; int main() { //Numeric to string stringstream ss; int nInt = 2019; double nDouble = 3.142; ss << nInt << ' ' <> myStr1 >> myStr2; cout<<'The numeric values converted to string:'<> nIntval >> nDoubleval; cout<<'The string values converted to numeric types:'< Izhod:
kaj je dober mp3 downloader za android

Najprej smo pretvorili številske vrednosti v vrednosti nizov. Nato pretvorimo številske nizovne vrednosti v številske vrednosti.
# 2) Štetje števila besed v nizu
Razred stringstream lahko uporabimo za štetje števila besed v nizu. Celoten program je naveden spodaj.
#include #include #include using namespace std; int main() { string str = 'Simple Questions To Check Your Software Testing Basic Knowledge'; stringstream s(str); string word; int count = 0; while (s >> word) count++; cout << ' Number of words in given string are: ' << count; return 0; }
Izhod:
Število besed v danem nizu je: 9
Če želite prešteti število besed v danem nizu, ga najprej pretvorimo v objekt niza nizov. Nato vsako besedo v zanki preštejemo z operatorjem ekstrakcije (ko se ustavi pri vsakem presledku). Na koncu izpišemo vrednost celotnega števila besed.
# 3) Natisnite posamezne frekvence besed v nizu
Naslednja uporaba niza v C ++ je tiskanje frekvenc različnih besed v danem nizu. To pomeni, da bomo natisnili, kolikokrat se določena beseda pojavi v danem nizu.
V ta namen smo ohranili strukturo zemljevida, ki bo imel par ključ-vrednost z vsako besedo v nizu kot ključ, njegova ustrezna vrednost pa je pogostost te besede.
Popoln program C ++ je prikazan spodaj.
#include #include #include #include using namespace std; int main() { string mystr = 'Simple Questions To Check Your Software Testing Knowledge '; map myMap; stringstream ss(mystr); string Word; while (ss >> Word) myMap(Word)++; map::iterator it; for (it = myMap.begin(); it != myMap.end(); it++) cout Izhod:

V tem programu se vsaka beseda v nizu vnese na zemljevid, nato pa se število ali pogostost posamezne besede zabeleži kot vrednost za ustrezen ključ na zemljevidu. Na ta način izpišemo vse besede v nizu in njihove ustrezne frekvence.
Zaključek
Razred Stringstream se uporablja za vstavljanje in ekstrahiranje podatkov v / iz nizovnih predmetov. Deluje kot tok za objekt niza. Razred stringstream je podoben toku cin in cout, le da nima vhodno-izhodnega kanala.
Razpravljali smo o različnih operacijah niza razredov in nekaj primerov njegovih aplikacij pri programiranju.
V naslednjih vajah bomo podrobno razpravljali o knjižničnih funkcijah jezika C ++.
=> Poiščite celotno serijo usposabljanj za C ++ tukaj.
Priporočeno branje
- Uporaba kazalca v MongoDB s primeri
- Uporaba ObjectId () v MongoDB s primeri
- Naučite se uporabljati razred C # StringBuilder in njegove metode s primeri
- Vadnica Java vmesnika in abstraktnega razreda s primeri
- Primeri uveljavljanja selena - praktične uporabe v projektih
- Poizvedbeni dokument MongoDB z uporabo metode Find () (primeri)
- C # Vadnica za niz - String metode s primeri kode
- Raziščite osnove Jave v selenu s primeri