stringstream class c usage examples
Een stringstream-klasse in C ++ is een stream-klasse om op strings te werken. De stringstream-klasse implementeert de invoer / uitvoerbewerkingen op geheugenbasisstromen, d.w.z. string:
Met de klasse stringstream in C ++ kan een stringobject worden behandeld als een stream. Het wordt gebruikt om op snaren te werken. Door de strings als streams te behandelen, kunnen we extractie- en invoegbewerkingen van / naar string uitvoeren, net als cin- en cout-streams.
Dit soort bewerkingen zijn vooral handig om tekenreeksen om te zetten in numerieke gegevenstypen en vice versa. De stringstream-klasse blijkt ook nuttig te zijn bij verschillende soorten parsing.
Lees de Easy C ++ Training Series door.
Wat je leert:
stringstream Klasse in C ++
Een stringstream-klasse kan als volgt picturaal worden weergegeven:
We kunnen zien waar de stringstream-klasse in beeld komt in het ios-diagram. Deze klasse is afgeleid van de iostream-klasse. Objecten van de stringstream-klasse gebruiken een stringbuffer die een reeks tekens bevat. Deze buffer is direct toegankelijk als stringobject.
We kunnen hiervoor het str-lid van de stringstream gebruiken. Om stringstream class te gebruiken in het C ++ programma, moeten we de header gebruiken
Bijvoorbeeld,de code om een geheel getal uit de string te halen zou zijn:
Hier declareren we een string-object met de waarde “2019” en een int-object “myInt”. Vervolgens gebruiken we de stringstream class constructor om een stringstream object te construeren vanuit het string object. Met behulp van de extractie-operator (>>) wordt de waarde geëxtraheerd in myInt. Van de bovenstaande code is de waarde van myInt 2019.
Laten we eens kijken naar de verschillende bewerkingen van de stringstream-klasse.
Invoeg- en extractiebewerkingen met behulp van stringstream
Nu zullen we zien hoe we gegevens in de stringstream of de invoegbewerking kunnen krijgen en hoe we gegevens uit de stringstream kunnen halen, d.w.z. de extractiebewerking van de stringstream-klasse.
# 1) Invoegbewerking
Om de gegevens in een stringstream te krijgen, kunnen we twee methoden gebruiken.
(i) Invoegoperator gebruiken (<<)
youtube muziekvideo's gratis downloadsoftware
Gegeven een stringstream-object ss, kunnen we gegevens als volgt aan de ss-buffer toewijzen met behulp van de<< operator.
Dit voegt 'hallo wereld !!' in de stringstream ss.
(ii) Met behulp van str (string) Functie
We kunnen ook de functie str gebruiken om gegevens toe te wijzen aan de stringstream-buffer. De functie str neemt de datastring als argument en wijst deze data toe aan het stringstream-object.
# 2) Extractie
We hebben twee methoden om de gegevens uit de stringstream te halen of voor de extractiebewerking.
(i) Met behulp van str () Functie
We kunnen de functie str () gebruiken om de gegevens als volgt uit de stringstream te halen.
(ii) Extractie-operator gebruiken (>>)
We kunnen de extractie-operator gebruiken om de stringstream-gegevens als volgt weer te geven.
Volgens de bovenstaande code heeft de variabele str de waarde van het ss-object als resultaat van de extractieoperatoractie.
Hieronder is een compleet programma gegeven dat het gebruik van invoeg- en extractiebewerkingen van de stringstream-klasse laat zien.
Uitgang:
In het bovenstaande programma hebben we eerst de invoegmethoden laten zien, d.w.z. operator<< and str(string) function that reads the string into stringstream.
Vervolgens zagen we de werking van extractiemethoden die de str () functie zijn die de gegevens uit de stringstream en operator >> haalt.
Merk op dat voor operator >>, aangezien de initiële stringstream-gegevens uit witruimten bestaan terwijl de gegevens aan een tekenreeksvariabele worden toegewezen, deze alleen wordt gelezen tot de eerste witruimte. Om het hele stringstream-object in stringgegevens om te zetten, hebben we dus elk één variabele nodig om de gegevens te lezen, gescheiden door witruimte.
Daarom hebben we in het bovenstaande programma drie stringvariabelen nodig om de volledige stringstream-objectgegevens te krijgen.
Toepassingen van stringstream in C ++
We kunnen het gebruik van stringstream-klasse in verschillende toepassingen vinden.
hoe je een torrent-bestand gebruikt na het downloaden
Enkele van de toepassingen zijn hieronder ter referentie besproken:
# 1) Conversie tussen strings en nummers
Invoeg- en extractie-operators van de stringstream werken met alle basistypen gegevens. Daarom kunnen we ze gebruiken om strings naar numerieke typen te converteren en vice versa.
Het complete programma voor conversie tussen strings en getallen wordt hieronder gegeven.
Uitgang:
Ten eerste hebben we numerieke waarden omgezet in stringwaarden. Vervolgens zetten we numerieke reekswaarden om in numerieke waarden.
# 2) Het aantal woorden in een string tellen
We kunnen de klasse stringstream gebruiken om het aantal woorden in een string te tellen. Hieronder vindt u het volledige programma.
Uitgang:
Het aantal woorden in een gegeven string is: 9
Om het aantal woorden in een bepaalde string te tellen, converteren we deze eerst naar het stringstream-object. Vervolgens tellen we elk woord met behulp van een extractie-operator (aangezien het stopt bij elke witruimte) in een lus. Ten slotte printen we de waarde van het totale aantal woorden.
# 3) Print individuele woordfrequenties in een string
De volgende toepassing van stringstream in C ++ is om de frequenties van verschillende woorden in een bepaalde string af te drukken. Dit betekent dat we zullen afdrukken, hoe vaak een bepaald woord in de gegeven string voorkomt.
Hiervoor hebben we een mapstructuur onderhouden die een sleutel / waarde-paar zal hebben met elk woord in de string als een sleutel en de bijbehorende waarde is de frequentie van dat specifieke woord.
Het volledige C ++ -programma wordt hieronder weergegeven.
Uitgang:
In dit programma wordt elk woord in de string op de kaart ingevoerd en vervolgens wordt de telling of frequentie van elk woord geregistreerd als een waarde voor de corresponderende sleutel in de kaart. Op deze manier voeren we alle woorden van de string en hun bijbehorende frequenties uit.
Gevolgtrekking
Stringstream-klasse wordt gebruikt voor het invoegen en extraheren van gegevens naar / van de string-objecten. Het fungeert als een stroom voor het string-object. De stringstream-klasse is vergelijkbaar met cin en cout-streams, behalve dat deze geen input-output-kanaal heeft.
We hebben verschillende bewerkingen van de stringstream-klasse besproken, samen met verschillende voorbeelden van de toepassingen ervan bij het programmeren.
pc-scan en reparatie tool windows 10
In onze volgende tutorials zullen we de bibliotheekfuncties van de C ++ -taal in detail bespreken.
Zoek hier de volledige C ++-trainingsserie.
Aanbevolen literatuur
- Gebruik van Cursor in MongoDB met voorbeelden
- Gebruik van ObjectId () in MongoDB met voorbeelden
- Leer de C # StringBuilder-klasse en de methoden ervan met voorbeelden te gebruiken
- Java-interface en abstracte les met voorbeelden
- Voorbeelden van seleniumbeweringen - praktische toepassingen in projecten
- MongoDB-querydocument met de methode Find () (voorbeelden)
- C # String Tutorial - String-methoden met codevoorbeelden
- Verken de essentie van Java in selenium met voorbeelden