Técnicas de Programação I

Documentos relacionados
Arquivos de Texto UFOP 1/41

Operações com Arquivos

Aula 28: Arquivos de texto

Linguagens de Programação

Entrad Entrada / Saíd a / Saída

Orientação a Objetos. Programação em C++

Arquivos. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP

Aula 29: Arquivos binários

Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos

Manipulação de Arquivos Binários

Introdução à linguagem C++

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos

Programação em C++: Entrada e saída de dados

Programação em C++: Entrada e saída de dados

Processamento de Arquivos. Escrita Leitura Ponteiros de Posição Arquivos de Acesso Aleatório Exemplos

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Linguagem de Programação C

5 -a. Manipulação de arquivos em C++

C++ - Operações com arquivos

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Computação Eletrônica. Aula 12 Arquivos Texto e Binário. Prof: Luciano Barbosa. CIn.ufpe.br

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2

Manipulação de Arquivos

Manipulação de Streams e arquivos

ESTRUTURA DE DADOS -ARQUIVOS. Prof. Angelo Augusto Frozza, M.Sc.

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1

Manipulação de Ficheiros

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Existe uma quantidade de informação que pode ser armazenada para resolver o problema.

Algoritmos Avançados

Introdução ao Fortran 90. Aula 3

1/24 FICHEIROS DE TEXTO

Introdução à Programação em C Input / Output

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Aula 14 Oficina de Programação Tópicos Especiais em C: Arquivos. Profa. Elaine Faria UFU

Tipos primitivos de Java Entrada de Dados Formatação da Saída. Aula 03

Disciplina de Algoritmos e Programação

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

3.1 - Funções para manipular dados de entrada e saída padrão

SCC-211 Lab. Algoritmos Avançados

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

Linguagens de Programação

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Repetição Controlada por Contador. Nono Exemplo utilizando Classes em C++

Aula 26: Estruturas heterogêneas

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Arquivos em C. Material da Prof. Ana Eliza

Sumário. Ficheiros. Ficheiros

Cap. 2 Expressões na linguagem C

TÉCNICAS DE PROGRAMAÇÃO

Programação Estruturada

10. INPUT/OUTPUT (I/O)

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Arquivos. Introdução à Programação SI1

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Introdução à Linguagem C

CHAPTER ONE. Elementos de organização de arquivos. Histórico

Manipulação de Arquivos Exercício/Exemplo:

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005)

Computação 2. Aula 8. Profª. Fabiany Arquivos

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008

Introdução à linguagem C++

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

3ra. Avaliação - Grupo A

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Paradigmas de Linguagens

Linguagem C: Introdução

Aula 26: Arquivos de texto

Outline. 33. Manipulação de arquivos DIM

Módulo 2. Acesso a Arquivos. Métodos e Algoritmos Computacionais C++ (Rone Ilídio)

Aula 3 Constantes e funções de E/S

Programação I A Linguagem C. Prof. Carlos Alberto

C++ BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP

Linguagem C. André Tavares da Silva.

Programação II. Files Read & Write. Bruno Feijó Dept. de Informática, PUC-Rio

Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Funções getchar() e putchar()

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Aula 27: Estruturas heterogêneas e alocação dinâmica

Computação 2. Aula 9. Diego Addan Arquivos

Arquivos. Programação de Computadores I. Natália Batista.

Linguagem de Programação C. Arquivos

Referências. Linguagem C. Tipos de variáveis em XC8. Tipos de variáveis. Tipos de variáveis em XC 8 Exemplo. Radicais numéricos em C

Representação de Dados

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O.

Introdução à Programação em C (II)

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Transcrição:

Técnicas de Programação I Conceitos básicos C/C++ Material baseado em sites da internet em especial no livro: STARTING OUT WITH C++ C++: Manipulação de Arquivos (1) ifstream : leitura (2) ofstream : escrita (3) fstream : leitura e escrita 1

C++: Objeto fstream Declaração: fstream arquivo; Somente Leitura: file.open( myfile.dat,ios:in); Somente Escrita: file.open( myfile.dat,ios:out); Leitura e Escrita: file.open( myfile.dat, ios:in ios:out); Modos de abertura de arquivos Especifica como o arquivo deve ser aberto e o que pode ser feito com ele ios:in e ios:out são exemplos de modos de abertura de arquivos, file mode flags (flags de abertura de arquivos) Flags de abertura podem ser combinados e passados como o segundo parâmetro na abertura do arquivo 2

Flags de Abertura ios::app ios::ate ios::binary ios::in ios::out Cria novo arquivo, ou adiciona ao final de um arquivo existente Vai para o final do arquivo; escreve em qquer lugar Lê/escreve em modo binário Abre para leitura Abre para escrita Flags de Abertura Nem todas as cobinações fazem sentido ifstream e ofstream possuem modos default, logo o segundo parâmetro da função open é opcional 3

Modos Default ofstream: Abertura somente para escrita Não são permitidas leituras Se não existe o arquivo ele é criado O conteúdo é apagado caso o arquivo exista Para associar outro comportamento: ofstream gradelist("grades.dat", ios::app); ifstream: Abertura somente para escrita Não é permitido escrever no arquivo A abertura falha caso o arquivo não exista Abertura de Arquivos para Escrita e Leitura Leitura e Escrita simultânea em arquivos Leitura de dados do arquivo memória Atualização dos dados Escrita dos dados atualizados no arquivo Utilização do objeto fstream : fstream gradelist("grades.dat", ios::in ios::out); 4

Detentando erros na abertura (1) Função fail() da stream infile.open( myfile ); if (infile.fail()) { cout << Erro abertura do arquivo ; exit(1); } Detecting File Open Errors (2) Testar o status da stream utilizando o operador! infile.open( myfile ); if (!infile) { cout << Erro abertura do arquivo ; exit(1); } 5

Formatação da saída Utilização de manipuladores Idênticos aos manipuladores em cout left, right oct, dec, hex endl, flush showpos, noshowpos showpoint, noshowpoint left or right justify output display output in octal, decimal, or hexadecimal write newline (endl only) and flush output do, do not show leading + with non-negative numbers do, do not show decimal point and trailing zeroes Formatação da saída fixed, scientific setw(n) setprecision(n) setfill(ch) use fixed or scientific notation for floatingpoint numbers sets minimum field output width to n sets floating-point precision to n uses ch as fill character 6

Detecção de Erros eof() true if eofbit set, false otherwise fail() true if failbit or hardfail set, false otherwise bad() true if badbit set, false otherwise good() true if goodbit set, false otherwise clear() clear all flags (no arguments), or clear a specific flag Bits de Estado de Erro ios::eofbit ios::failbit ios::hardfail ios::badbit set when end of file detected set when operation failed set when an irrecoverable error occurred set when invalid operation attempted ios::goodbit set when no other bits are set 7

Funções de Leitura e Escrita Diferentemente do operador >>, estas funções não pulam espaços em branco: getline: lê uma linha get: lê um caracter Função getline getline(char s[ ], int max, char stop = \n ) char s[ ]: variável para armazenar o valor lido int max : número máximo de caracteres a serem lidos char stop: caracter de término de leitura caso o numero máximo max não tenha sido atingido 8

13.7 Arquivos Binários Arquivos Binários armazenam os dados no mesmo formato que em memória principal (RAM) Arquivos texto armazenam os dados no formato ascii (strings) Arquivos são abertos por default no modo TEXTO Manipulação de arquivos Binários Flag ios::binary na abertura do arquivo infile.open( myfile.dat,ios::binary); Funções read e write para leiitura e escrita read(char *buffer, int numberbytes) write(char *buffer, int numberbytes) 9

Função: read e write read(char *buffer, int numberbytes) write(char *buffer, int numberbytes) buffer: variável a ser utilizada para armazer o valor a ser lido do arquivo numberbytes: número de bytes a serem lidos Exemplo: write Para escrever um vetor de doubles ofstream outfile( myfile, ios:binary); double d[2] = {12.3, 34.5}; outfile.write( reinterpret_cast<char *>(d), sizeof(d) ); 10

Exemplo: read Para ler dois doubles para um vetor ifstream infile( myfile, ios:binary); double data[2]; infile.read( reinterpret_cast<char *>(data), 2*sizeof(double) ); Trabalhando com Registros Para escrever e ler registros (struct) em arquivos Utilizar binary flag na abertura Utilizar as funções read, write 11

Struct + arquivos: Exemplo struct T_aluno { int matricula; float nota; char nome[20]; }; T_aluno aluno;... // escreve o registro no arquivo gradefile.write( reinterpret_cast<char*>(aluno), sizeof(aluno)); Exercícios Implemente um programa que obtêm do usuário os seguintes dados de uma pessoa: nome, endereço, telefone e idade. Estes dados devem ser escritos num arquivo binário como registros. 12