stringstream class c usage examples
Una classe stringstream a C ++ és una classe Stream per operar en cadenes. La classe stringstream implementa els fluxos d’operacions d’entrada / sortida en bases de memòria, és a dir, cadena:
La classe stringstream a C ++ permet tractar un objecte string com un flux. S'utilitza per operar en cordes. En tractar les cadenes com a corrents, podem realitzar operacions d’extracció i inserció des de / fins a cadenes com els corrents cin i cout.
Aquest tipus d’operacions són útils sobretot per convertir cadenes a tipus de dades numèriques i viceversa. La classe stringstream també resulta útil en diferents tipus d’anàlisi.
=> Llegiu la sèrie de formació Easy C ++.
Què aprendreu:
- stringstream Class In C ++
- Conclusió
stringstream Class In C ++
Una classe stringstream es pot representar pictòricament de la següent manera:
Podem veure on entra a la imatge la classe stringstream al diagrama de iOS. Aquesta classe es deriva de la classe iostream. Els objectes de la classe stringstream utilitzen un buffer de cadena que conté una seqüència de caràcters. Es pot accedir a aquesta memòria intermèdia directament com a objecte de cadena.
Podem utilitzar el membre str del stringstream per a aquest propòsit. Per utilitzar la classe stringstream al programa C ++, hem d’utilitzar la capçalera .
Per exemple,el codi per extreure un nombre enter de la cadena seria:
string mystr(“2019”); int myInt; stringstream (mystr)>>myInt;
Aquí declarem un objecte de cadena amb el valor '2019' i un objecte int 'myInt'. A continuació, fem servir el constructor de classes stringstream per construir un objecte stringstream a partir de l'objecte string. A continuació, mitjançant l'operador d'extracció (>>), el valor s'extreu a myInt. A partir del codi anterior, el valor de myInt serà el 2019.
Explorem les diverses operacions de la classe stringstream.
Operacions d'inserció i extracció mitjançant stringstream
Ara veurem com obtenir dades al stringstream o l’operació d’inserció i com treure dades del stringstream, és a dir, l’operació d’extracció de la classe stringstream.
# 1) Operació d'inserció
Per obtenir les dades en un flux de cadenes, podem utilitzar dos mètodes.
(i) Ús de l'operador d'inserció (<<)
com extreure fitxers torrent mitjançant 7zip
Donat un objecte ss de flux de cadena, podem assignar dades a la memòria intermèdia ss de la següent manera utilitzant<< operator.
stringstream ss; ss<< “hello,world!!”;
Això insereix 'hola, món !!' a la cadena ss.
(ii) Utilitzar la funció str (string)
També podem utilitzar la funció str per assignar dades al buffer stringstream. La funció str pren la cadena de dades com a argument i assigna aquestes dades a l’objecte stringstream.
stringstream ss; ss.str(“Hello,World!!”);
# 2) Operació d'extracció
Disposem de dos mètodes per treure les dades del stringstream o per a l’operació d’extracció.
(i) Utilitzar la funció str ()
Podem utilitzar la funció str () per treure les dades del stringstream de la següent manera.
stringstream ss; ss<<”Hello,World”; cout< (ii) Ús de l'operador d'extracció (>>)
Podem utilitzar l’operador d’extracció per mostrar les dades de flux de cadena de la següent manera.
Stringstream ss; ss<>str;
Segons el codi anterior, la variable str tindrà el valor de l'objecte ss com a resultat de l'acció de l'operador d'extracció.
A continuació es mostra un programa complet que demostra l’ús de les operacions d’inserció i extracció de la 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< Sortida:
Al programa anterior, hem mostrat primer els mètodes d’inserció, és a dir, l’operador<< and str(string) function that reads the string into stringstream.
el millor programari gratuït de recuperació de dades de Windows 10
A continuació, vam veure el funcionament dels mètodes d'extracció que són la funció str () que treu les dades del stringstream i de l'operador >>.
Tingueu en compte que per a l'operador >>, com que les dades inicials de flux de cadenes consisteixen en espais en blanc mentre s'assignen les dades a una variable de cadena, només es llegirà fins al primer espai en blanc. Per tant, per convertir tot l’objecte de cadena en dades de cadena, necessitem una variable cadascuna per llegir les dades separades per espais en blanc.
Per tant, al programa anterior, necessitem tres variables de cadena per obtenir tota la informació de l’objecte de cadena de cadenes.
Aplicacions de stringstream en C ++
Podem trobar els usos de la classe stringstream en diverses aplicacions.
Algunes de les aplicacions s’han comentat a continuació per a la vostra referència:
# 1) Conversió entre cadenes i números
Els operadors d’inserció i extracció del stringstream funcionen amb tots els tipus bàsics de dades. Per tant, podem utilitzar-les per convertir cadenes a tipus numèrics i viceversa.
A continuació es mostra el programa complet de conversió entre cadenes i números.
#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:'< Sortida:
En primer lloc, hem convertit els valors numèrics en valors de cadena. A continuació, convertim els valors de cadena numèrica en valors numèrics.
# 2) Comptar el nombre de paraules en una cadena
Podem utilitzar la classe stringstream per comptar el nombre de paraules d’una cadena. El programa complet es dóna a continuació.
#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; }
Sortida:
El nombre de paraules en una cadena donada és: 9
Per comptar el nombre de paraules d'una cadena determinada, primer el convertim a l'objecte stringstream. Després comptem cada paraula mitjançant un operador d’extracció (ja que s’atura a cada espai en blanc) en un bucle. Finalment, imprimim el valor del nombre total de paraules.
convertir el caràcter a int c ++
# 3) Imprimiu les freqüències de paraules individuals en una cadena
La següent aplicació de stringstream a C ++ és imprimir les freqüències de paraules diferents en una cadena determinada. Això significa que imprimirem quantes vegades apareix una paraula en concret a la cadena donada.
Per a això, hem mantingut una estructura de mapa que tindrà un parell clau-valor amb cada paraula de la cadena com a clau i el seu valor corresponent és la freqüència d’aquesta paraula en particular.
A continuació es mostra el programa complet de C ++.
#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 Sortida:
En aquest programa, cada paraula de la cadena s’introdueix al mapa i, a continuació, s’enregistra el recompte o freqüència de cada paraula com a valor de la clau corresponent al mapa. D’aquesta manera emetem totes les paraules de la corda i les seves freqüències corresponents.
Conclusió
La classe Stringstream s’utilitza per a la inserció i extracció de dades a / des dels objectes de cadena. Actua com un flux per a l'objecte de cadena. La classe stringstream és similar als fluxos cin i cout, tret que no té un canal d’entrada-sortida.
Hem discutit diverses operacions de la classe stringstream juntament amb diversos exemples de les seves aplicacions en programació.
En els nostres tutorials posteriors, parlarem detalladament de les funcions de biblioteca del llenguatge C ++.
=> Cerqueu aquí tota la sèrie de formació C ++.
Lectura recomanada
- Ús del cursor a MongoDB amb exemples
- Ús de ObjectId () a MongoDB amb exemples
- Apreneu a utilitzar la classe C # StringBuilder i els seus mètodes amb exemples
- Interfície Java i tutoria de classes abstractes amb exemples
- Exemples d’assercions de seleni: aplicacions pràctiques en projectes
- Document de consulta MongoDB mitjançant el mètode Find () (exemples)
- Tutorial de cadenes C #: mètodes de cadenes amb exemples de codi
- Exploreu els aspectes bàsics de Java al seleni amb exemples