stringstream class c usage examples
Uma classe stringstream em C ++ é uma classe Stream para operar em strings. A classe stringstream implementa as operações de entrada / saída em fluxos de bases de memória, ou seja, string:
A classe stringstream em C ++ permite que um objeto string seja tratado como um fluxo. É usado para operar em cordas. Ao tratar as strings como fluxos, podemos realizar a operação de extração e inserção de / para a string exatamente como os fluxos cin e cout.
Esses tipos de operações são principalmente úteis para converter string em tipos de dados numéricos e vice-versa. A classe stringstream também se mostra útil em diferentes tipos de análise.
=> Leia a série de treinamento Easy C ++.
O que você aprenderá:
Classe stringstream em C ++
Uma classe stringstream pode ser representada pictoricamente da seguinte forma:
Podemos ver onde a classe stringstream entra em cena no diagrama ios. Esta classe é derivada da classe iostream. Os objetos da classe stringstream usam um buffer de string contendo uma sequência de caracteres. Este buffer pode ser acessado diretamente como um objeto string.
Podemos usar o membro str do stringstream para esse propósito. Para usar a classe stringstream no programa C ++, temos que usar o cabeçalho .
Por exemplo,o código para extrair um inteiro da string seria:
string mystr(“2019”); int myInt; stringstream (mystr)>>myInt;
Aqui, declaramos um objeto string com o valor “2019” e um objeto int “myInt”. Em seguida, usamos o construtor da classe stringstream para construir um objeto stringstream a partir do objeto string. Em seguida, usando o operador de extração (>>), o valor é extraído em myInt. A partir do código acima, o valor de myInt será 2019.
Vamos explorar as várias operações da classe stringstream.
Operações de inserção e extração usando stringstream
Agora veremos como obter dados para o stringstream ou a operação de inserção e como obter dados do stringstream, ou seja, a operação de extração da classe stringstream.
# 1) Operação de inserção
Para obter os dados em um stringstream, podemos usar dois métodos.
(i) Usando o Operador de Inserção (<<)
suporte técnico perguntas e respostas da entrevista pdf
Dado um objeto stringstream ss, podemos atribuir dados ao buffer ss da seguinte forma, usando o<< operator.
stringstream ss; ss<< “hello,world!!”;
Isso insere “olá, mundo !!” no stringstream ss.
(ii) Usando a função str (string)
Também podemos usar a função str para atribuir dados ao buffer de stringstream. A função str leva a string de dados como um argumento e atribui esses dados ao objeto stringstream.
stringstream ss; ss.str(“Hello,World!!”);
# 2) Operação de extração
Temos dois métodos para obter os dados fora do stringstream ou para a operação de extração.
(i) Usando a função str ()
Podemos usar a função str () para obter os dados do stringstream da seguinte maneira.
stringstream ss; ss<<”Hello,World”; cout< (ii) Usando o Operador de Extração (>>)
Podemos usar o operador de extração para exibir os dados do stringstream da seguinte maneira.
Stringstream ss; ss<>str;
De acordo com o código acima, a variável str terá o valor do objeto ss como resultado da ação do operador de extração.
É fornecido abaixo um programa completo que demonstra o uso de operações de Inserção e Extração da 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< Resultado:

No programa acima, mostramos os métodos de inserção primeiro, ou seja, operador<< and str(string) function that reads the string into stringstream.
A seguir, vimos o funcionamento dos métodos de extração que são a função str () que obtém os dados do stringstream e do operador >>.
Observe que, para o operador >>, como os dados de stringstream iniciais consistem em espaços em branco ao atribuir os dados a uma variável de string, ele lerá apenas até o primeiro espaço em branco. Portanto, para converter todo o objeto stringstream em dados string, cada um precisa de uma variável para ler os dados separados por espaços em branco.
java vs c ++ que é melhor
Portanto, no programa acima, precisamos de três variáveis string para obter todos os dados do objeto stringstream.
Aplicações de stringstream em C ++
Podemos encontrar os usos da classe stringstream em várias aplicações.
Alguns dos aplicativos foram discutidos abaixo para sua referência:
# 1) Conversão entre strings e números
Os operadores de inserção e extração do stringstream trabalham com todos os tipos básicos de dados. Portanto, podemos usá-los para converter strings em tipos numéricos e vice-versa.
O programa completo para conversão entre strings e números é fornecido abaixo.
#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:'< Resultado:

Primeiro, convertemos os valores numéricos em valores de string. Em seguida, convertemos valores de string numéricos em valores numéricos.
# 2) Contando o número de palavras em uma string
Podemos usar a classe stringstream para contar o número de palavras em uma string. O programa completo é fornecido abaixo.
#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; }
Resultado:
O número de palavras em uma determinada string é: 9
Para contar o número de palavras em uma determinada string, primeiro a convertemos no objeto stringstream. Em seguida, contamos cada palavra usando um operador de extração (uma vez que para em cada espaço em branco) em um loop. Finalmente, imprimimos o valor do número total de palavras.
# 3) Imprimir frequências de palavras individuais em uma string
A próxima aplicação do stringstream em C ++ é imprimir as frequências de palavras diferentes em uma determinada string. Isso significa que iremos imprimir quantas vezes uma determinada palavra aparece na string dada.
Para isso, mantemos uma estrutura de mapa que terá um par de valores-chave com cada palavra da string como uma chave e seu valor correspondente é a frequência dessa palavra específica.
O programa C ++ completo é mostrado abaixo.
#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 Resultado:
qual é o melhor downloader de música grátis

Neste programa, cada palavra na string é inserida no mapa e, em seguida, a contagem ou frequência de cada palavra é registrada como um valor para a chave correspondente no mapa. Dessa forma, geramos todas as palavras da corda e suas frequências correspondentes.
Conclusão
A classe Stringstream é usada para inserção e extração de dados de / para os objetos string. Ele atua como um fluxo para o objeto string. A classe stringstream é semelhante aos streams cin e cout, exceto que não tem um canal de entrada-saída.
Discutimos várias operações da classe stringstream junto com vários exemplos de seus aplicativos em programação.
Em nossos tutoriais subsequentes, discutiremos as funções de biblioteca da linguagem C ++ em detalhes.
=> Procure toda a série de treinamento C ++ aqui.
Leitura recomendada
- Uso do cursor no MongoDB com exemplos
- Uso de ObjectId () no MongoDB com exemplos
- Aprenda a usar a classe StringBuilder C # e seus métodos com exemplos
- Interface Java e tutorial de classe abstrata com exemplos
- Exemplos de asserção de selênio - Aplicações práticas em projetos
- Documento de consulta do MongoDB usando o método Find () (exemplos)
- Tutorial de string C # - Métodos de string com exemplos de código
- Explore os fundamentos de Java no Selenium com exemplos