Download - Stream
![Page 1: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/1.jpg)
Stream• “stream”neste contexto: sequência de bytes• Utilizado em diversas plataformas• Simplifica o tratamento de dados e sua integração• Bibliotecas em C++
– iostream: • biblioteca geral para tratamento de “stream”
Alguns objetos:• cin – entrada de dados• cout – saída de dados• cerr – erros• clog – log de operações
– fstream: tratamento de arquivos
![Page 2: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/2.jpg)
StreamRevisando:
cout << “Mensagem qualquer!” << endl;
Objeto de iostream
![Page 3: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/3.jpg)
StreamRevisando:
cout << “Mensagem qualquer!” << endl;
Objeto de iostream
Operadorde streampara “INSERÇÃO”
![Page 4: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/4.jpg)
StreamRevisando:
cout << “Mensagem qualquer!” << endl;
Objeto de iostream
Operadorde streampara “INSERÇÃO” Conteúdo
(“sequência de bytes”)
![Page 5: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/5.jpg)
StreamRevisando:
cout << “Mensagem qualquer!” << endl;
Objeto de iostream
Operadorde streampara “INSERÇÃO” Conteúdo
(“sequência de bytes”)
Permite a “Concatenação” de conteúdo
![Page 6: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/6.jpg)
StreamRevisando:
cout << “Mensagem qualquer!” << endl;
Objeto de iostream
Operadorde streampara “INSERÇÃO” Conteúdo
(“sequência de bytes”)
“manipulador”Para inserção de nova linha
Permite a “Concatenação” de conteúdo
![Page 7: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/7.jpg)
StreamRevisando:
cout << “Mensagem qualquer!” << endl;
cin >> nome >> idade;
Objeto de iostream
Operadorde streampara “RETIRADA”
Indicação de destino para (“sequência de bytes”)
![Page 8: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/8.jpg)
Stream• “stream”: seq. de bytes + dispositivo + operação• Origem ou destino: diferentes dispositivos• Operação: inserção, retirada e variações• Exemplo:
– Retirada: teclado, arquivo– Inserção: monitor, arquivo
![Page 9: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/9.jpg)
StreamAlgumas funções membro:• put : realiza a saída de um único caracter• write: saída não formatada de conjunto de bytes
Exemplos:
cout.put(‘F’);
cout.put(‘F’).put(‘ ‘).put(‘\n’);
cout.put(66); // ascii 66 equivale a ‘B’
ou
cout.write(“teste ccom write!”);
![Page 10: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/10.jpg)
StreamAlgumas funções membro:• get : realiza a entrada de um único caracter e retorna
valor zero de encontrou final de fluxo (ctrl Z, ctrl D)• eof: verifica fluxo e retorna valor zero se encontrou
o final
Exemplos:char a;
a = cin.get();
if (a == 0) {//fim de fluxo}
if (a == EOF) {// fim de fluxo}
char a;while ( (a = cin.get()) != EOF){
cout.put(a);}cout<<cin.eof();
![Page 11: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/11.jpg)
StreamAlgumas funções membro:
• get(variável, tamanho): realiza a entrada de dados para uma variável com tamanho máximo determinado
• getline(variável, tamanho): entrada de dados para uma variável com tamanho máximo determinado ou finalizador de linha como marcador de fim de entrrada
Exemplos:
cont TAMANHO = 50;
char palavra[TAMANHO];
cin.get(palavra, TAMANHO);
cin.getline(palavra, TAMANHO);
![Page 12: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/12.jpg)
StreamAlgumas funções membro:• ignore: desconsidera um certo número de
caracteres associados ao stream • putback: devolve o último caracter lido ao stream
do dispositivo• peek: retorna o próximo caracter do fluxo, sem
retirar do stream• gcount: indica o número de bytes lidos na última
operação• setiosflag: configura detalhes de entrada e saída
de dados através de stream
![Page 13: Stream](https://reader035.vdocuments.com.br/reader035/viewer/2022081813/568148a4550346895db5b8b1/html5/thumbnails/13.jpg)
StreamAlguns manipuladores:• dec, oct, hex – indicam a base numérica a usar• setbase – recebe a base a representar como parâmetro • precision, setprecision – recebe a precisão atual e indica nova
definição de precisão• setw, width – indica o número máximo de bytes a ler para uma
variável do tipo char• endl – nova linhaExemplos: int nro =20;cout<<hex<<nro<<endl<<oct<<nro<<endl<<setbase(10)<<nro;double nrod=sqrt(30);cout.precision(8); cout<< nrod;char frase[50]; cin.width(15); cin>>frase;