stringstream class c usage examples
Una classe stringstream in C ++ è una classe Stream per operare sulle stringhe. La classe stringstream implementa le operazioni di input / output sui flussi basati sulla memoria, ovvero stringa:
La classe stringstream in C ++ consente di trattare un oggetto stringa come un flusso. Viene utilizzato per operare su stringhe. Trattando le stringhe come flussi possiamo eseguire operazioni di estrazione e inserimento da / a stringa proprio come i flussi cin e cout.
Questi tipi di operazioni sono principalmente utili per convertire una stringa in tipi di dati numerici e viceversa. La classe stringstream si rivela utile anche in diversi tipi di analisi.
=> Leggere la serie di formazione Easy C ++.
Cosa imparerai:
- Classe stringstream In C ++
- Conclusione
Classe stringstream In C ++
Una classe stringstream può essere rappresentata graficamente come segue:
Possiamo vedere dove la classe stringstream entra nell'immagine nel diagramma ios. Questa classe è derivata dalla classe iostream. Gli oggetti della classe stringstream utilizzano un buffer di stringa contenente una sequenza di caratteri. È possibile accedere a questo buffer direttamente come oggetto stringa.
Possiamo usare il membro str dello stringstream per questo scopo. Per usare la classe stringstream nel programma C ++, dobbiamo usare l'intestazione .
Per esempio,il codice per estrarre un numero intero dalla stringa sarebbe:
string mystr(“2019”); int myInt; stringstream (mystr)>>myInt;
Qui dichiariamo un oggetto stringa con valore '2019' e un oggetto int 'myInt'. Successivamente, utilizziamo il costruttore della classe stringstream per costruire un oggetto stringstream dall'oggetto stringa. Quindi utilizzando l'operatore di estrazione (>>), il valore viene estratto in myInt. Dal codice sopra, il valore di myInt sarà 2019.
Esploriamo le varie operazioni della classe stringstream.
Operazioni di inserimento ed estrazione utilizzando stringstream
Ora vedremo come inserire i dati nello stringstream o l'operazione di inserimento e come estrarre i dati dallo stringstream cioè l'operazione di estrazione della classe stringstream.
# 1) Operazione di inserimento
Per inserire i dati in un flusso di stringhe, possiamo utilizzare due metodi.
(i) Utilizzo dell'operatore di inserimento (<<)
qual è la migliore app spia per cellulari
Dato un oggetto stringstream ss, possiamo assegnare dati al buffer ss come segue usando il<< operator.
stringstream ss; ss<< “hello,world!!”;
Questo inserisce 'ciao, mondo !!' nello stringstream ss.
(ii) Utilizzo della funzione str (string)
Possiamo anche usare la funzione str per assegnare dati al buffer stringstream. La funzione str accetta la stringa di dati come argomento e assegna questi dati all'oggetto stringstream.
stringstream ss; ss.str(“Hello,World!!”);
# 2) Operazione di estrazione
Abbiamo due metodi per estrarre i dati dal flusso di stringhe o per l'operazione di estrazione.
(i) Utilizzo della funzione str ()
Possiamo usare la funzione str () per estrarre i dati dallo stringstream come segue.
esiste una versione gratuita di quickbooks
stringstream ss; ss<<”Hello,World”; cout< (ii) Utilizzo dell'operatore di estrazione (>>)
Possiamo usare l'operatore di estrazione per visualizzare i dati del flusso di stringhe come segue.
Stringstream ss; ss<>str;
Come per il codice precedente, la variabile str avrà il valore dell'oggetto ss come risultato dell'azione dell'operatore di estrazione.
Di seguito è riportato un programma completo che dimostra l'utilizzo delle operazioni di inserimento ed estrazione della classe stringstream.
#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< Produzione:
Nel programma sopra, abbiamo mostrato prima i metodi di inserimento, cioè operator<< and str(string) function that reads the string into stringstream.
Successivamente, abbiamo visto il funzionamento dei metodi di estrazione che sono la funzione str () che estrae i dati dallo stringstream e dall'operatore >>.
Si noti che per l'operatore >>, poiché i dati del flusso di stringhe iniziali sono costituiti da spazi bianchi mentre si assegnano i dati a una variabile di stringa, verranno letti solo fino al primo spazio bianco. Quindi, per convertire l'intero oggetto stringstream in dati stringa, abbiamo bisogno di una variabile ciascuno per leggere i dati separati da spazi.
Quindi, nel programma precedente, abbiamo bisogno di tre variabili stringa per ottenere tutti i dati dell'oggetto stringstream.
Applicazioni di stringstream in C ++
Possiamo trovare gli usi della classe stringstream in varie applicazioni.
Alcune delle applicazioni sono state discusse di seguito come riferimento:
# 1) Conversione tra stringhe e numeri
Gli operatori di inserimento ed estrazione dello stringstream funzionano con tutti i tipi di dati di base. Quindi possiamo usarli per convertire stringhe in tipi numerici e viceversa.
Di seguito viene fornito il programma completo per la conversione tra stringhe e numeri.
#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:'< Produzione:
Innanzitutto, abbiamo convertito i valori numerici in valori stringa. Successivamente, convertiamo i valori delle stringhe numeriche in valori numerici.
# 2) Conteggio del numero di parole in una stringa
Possiamo usare la classe stringstream per contare il numero di parole in una stringa. Di seguito viene fornito il programma completo.
#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; }
Produzione:
Il numero di parole nella stringa data è: 9
Per contare il numero di parole in una data stringa, la convertiamo prima nell'oggetto stringstream. Quindi contiamo ogni parola utilizzando un operatore di estrazione (poiché si ferma a ogni spazio) in un ciclo. Infine, stampiamo il valore del numero totale di parole.
# 3) Stampa singole frequenze di parole in una stringa
La prossima applicazione di stringstream in C ++ consiste nello stampare le frequenze di diverse parole in una data stringa. Ciò significa che stamperemo quante volte una parola particolare appare nella stringa data.
Per questo, abbiamo mantenuto una struttura della mappa che avrà una coppia chiave-valore con ogni parola nella stringa come chiave e il suo valore corrispondente è la frequenza di quella particolare parola.
Il programma C ++ completo è mostrato di seguito.
#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 Produzione:
sottostringa (0,0) java
In questo programma, ogni parola della stringa viene inserita nella mappa e quindi il conteggio o la frequenza di ciascuna parola viene registrata come valore per la chiave corrispondente nella mappa. In questo modo emettiamo tutte le parole della stringa e le loro frequenze corrispondenti.
Conclusione
La classe Stringstream viene utilizzata per l'inserimento e l'estrazione di dati negli / dagli oggetti stringa. Funge da flusso per l'oggetto stringa. La classe stringstream è simile ai flussi cin e cout tranne per il fatto che non ha un canale di input-output.
Abbiamo discusso varie operazioni della classe stringstream insieme a diversi esempi delle sue applicazioni in programmazione.
Nelle nostre esercitazioni successive, discuteremo in dettaglio le funzioni di libreria del linguaggio C ++.
=> Cerca qui l'intera serie di formazione C ++.
Lettura consigliata
- Utilizzo del cursore in MongoDB con esempi
- Utilizzo di ObjectId () in MongoDB con esempi
- Impara a usare la classe StringBuilder C # ei suoi metodi con esempi
- Tutorial sull'interfaccia Java e sulla classe astratta con esempi
- Esempi di asserzioni di selenio - Applicazioni pratiche nei progetti
- Documento di query MongoDB utilizzando il metodo Find () (esempi)
- Esercitazione sulle stringhe in C # - Metodi sulle stringhe con esempi di codice
- Esplora gli elementi essenziali di Java in selenio con esempi