• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Entrada/saída com streams em C++Objetivos• Entender como usar a entradalsaída orientada a objetos comstreams de C++.. • Ser capaz de formatar entradas e saídas.• Entender a hierarquia de classes de E/S com streams.• Entender como fazer entrada/saída com objetos de tiposdefinidos pelo usuário.• Ser capaz de criar manipuladores de streams definidos pelousuário.• Ser capaz de determinar o sucesso ou o fracasso de opera çõe deentradalsaída.• Ser capaz de vincular o stream de saída ao stream de entra da. Consciência...não parece em si dividida em pedacinhosUm “rio” ou uma “corrente’” são metáforas utilizadaspara descrevê-la mais naturalmente.William JamesTodas as notícias que podem ser impressas2.Adolph S. OchsN. de R.: Stream, no originaL2 N. de R.: Lema do jornal The New York Times638 C++ COMO PROGRAMARVisão Geral11.1 Introdução11.2 Streams11.2.1 Arquivos de cabeçalho da biblioteca iostream11.2.2 Classes e objetos de entrada/saída com streams11.3 Saída com streams11.3.1 Operador de inserção em stream11.3.2 Encadeando operadores de inserção/extração do streani11.3.3 Saída de variáveis char*11.3.4 Saída de caracteres com a função membro put; encadeando putS11.4 Entrada com streams11.4.1 Operador de extração do stream11.4.2 Funções membro get e getline11.4.3 Funções membro peek, putback e ignore de istreaxn11.4.4 EIS segura quanto ao tipo11.5 E/S não-formatada com read, gcount e write
 
11.6 Manipuladores de streams11.6.1 Base do stream de inteiros: dec, oct, hex e setbase11.6.2 Precisão em ponto flutuante (precision, setprecision)11.6.3 Largura de campo (setw, width)11.6.4 Manipuladores definidos pelo usuário11.7 Estados de formato do stream11.7.1 Indicadores de estado de formato11.7.2 Zeros à direita e pontos decimais (ios: : showpoint)11.7.3 Alinhamento (ios: : left, ios: : right, ios: internal)11.7.4 Preenchimento (fui, setf iii)11.7.5 Base do stream de inteiros (ios: :dec, ios: :oct, ios: :hex, ios: : showbase)11.7.6 Números em ponto flutuante; notação científica (ios: : scientific, ios: :fixed)11.7.7 Controle de maiúsculas/minúsculas (ios: : uppercase)11.7.8 Inicializando e reinicializando os indicadores de formato (fiags,setiosfiags,resetiosfiags)11.8 Estados de erro do stream11.9 Vinculando um stream de saída a um stream de entradaResu,no. Terminologia Erros comuns de programação Boas práticas deprogramação Dica de desempenho . Dica de portabilidade. Observações deengenharia de software Exercícios de auto-revisão• Respostas aos exercícios deauto-revisão • ExercíciosCAPÍTULO 11 - ENTRADA/SAÍDA COM STREAMS EM C++ 63911.1 IntroduçãoAs bibliotecas padrão de C++ fornecem um extenso conjunto de recursos deentrada/saída. Este capítulo discute uma gama suficiente de recursos paraexecutar as operações de EIS mais comuns e avaliar os demais recursos.Alguns dos recursos apresentados aqui foram discutidos anteriormente no texto,mas esse capítulo fornece uma discussão mais completa dos recursos deentrada/saída de C++.Muitos dos recursos de E/S descritos aqui são orientados a objetos. O leitor deve achar interessante ver comotais recursos são implementados. Este estilo de E/S faz uso de outrascaracterísticas de C++, tais como referências, sobrecarga de funções esobrecarga de operadores.Como veremos, C++ usa E/S segura quanto ao tipo. Cada operação de EIS éautomaticamente executada de uma maneira sensível ao tipo dos dados. Seuma função de EIS foi adequadamente definida para tratar um tipo de dadoparticular, então aquela função é chamada para tratar aquele tipo de dado. Senão existe uma correspondência entre o tipo real dos dados e uma função paramanipular aquele tipo de dado, é gerada uma indicação de erro de compilação.Desse modo, dados impróprios não podem se mover “furtivamente” através dosistema (como pode acontecer em C - uma brecha em C que permite algunserros bastante sutis e freqüentemente estranhos).
 
Os usuários podem especificar E/S de tipos definidos pelo usuário, comotambém de tipos padrão. Estaextensibilidade é um dos recursos mais valiosos de C++.Boa prática de programação 11.1Use exclusivamente a forma de EIS de C+ + em programas em C+ +, apesar dofato de que a EIS ao estilode C está disponível para os programadores de C++.Observação de engenharia de software 11.1 ______ O estilo de EIS de C+ + é seguro quanto ao tipo.Observação de engenharia de soflware 11.2 ______ C+ + possibilita um tratamento comum da EIS de tipos primitivos e detipos definidos pelo usuário. Este tipo de “comunalidade “facilita odesenvolvimento de software em geral e a reutilização de software emparticular 11.2 StreamsA E/S em C++ ocorre em streams de bytes. Um stream é simplesmente umaseqüência de bytes. Em operações de entrada, os bytes fluem de um dispositivo(por exemplo: um teclado, uma unidade de disco ou uma conexão de rede) paraa memória principal. Em operações de saída, os bytes fluem da memóriaprincipal para um dispositivo (por exemplo: uma tela de monitor, umaimpressora, uma unidade de disco ou uma conexão de rede).O aplicativo associa significados aos bytes. Os bytes podem representar caracteres ASCII, formato interno de dados brutos, imagens gráficas, vozdigitalizada, vídeo digital ou qualquer outro tipo de informações que umaplicativo possa requerer.O trabalho dos mecanismos de E/S do sistema é mover bytes de dispositivospara a memória, e vice-versa, de uma maneira consistente e confiável. Taistransferências envolvem freqüentemente movimento mecânico, tal como arotação de um disco ou uma fita, ou o próprio bater nas teclas em um teclado. Otempo que estas transferências tomam normalmente é enorme, se comparadoao tempo que o processador leva para manipular dados internamente. Dessemodo, operações de E/S exigem planejamento e afinação cuidadosa, paragarantir o máximo desempenho.C++ fornece tanto recursos de E/S “de baixo nível” como de “alto nível”.Recursos de E/S de baixo nível (i.e., E/S não-formatada) especificamtipicamente que algum número de bytes deve simplesmente ser transferido deum dispositivo para a memória ou da memória para um dispositivo. Em taistransferências, cada byte é o item de interesse. Tais recursos de baixo nívelfornecem alta velocidade, transferências de grande volume, mas estes recursosnão são particularmente convenientes para as pessoas.As pessoas preferem uma visão de nível mais alto da E/S (i.e, EIS formatada),na qual os bytes são agrupadosem unidades significativas, tais como inteiros, números de ponto flutuante,caracteres, strings e tipos definidos pelo640 c++ COMO PROGRAMAR
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...