22

Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Embed Size (px)

Citation preview

Page 1: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo
Page 2: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Educação Profissional Técnica de Nível Médio

Curso Técnico de Informática

Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa

Arquivo

Page 3: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Arquivos

Programas que leem dados no teclados e escrevem na tela do monitor são comuns, mas há necessidade de ler dados de um arquivo que está no disco (HD) e de como gravar um arquivo no disco.

Podem armazenar grande quantidade de informação.

Dados são persistentes(gravados em disco).

Page 4: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Motivação • Entrada (de um programa): Banco de dados

• Saída: Lista dos funcionários que trabalham na empresa há mais de 5 anos. Desenvolvê-lo de modo a termos entrada e saída através de arquivos.

• Arquivo = pode ser visto como um espaço sequencial onde são lidos ou gravados dados.

Page 5: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Tipos de Arquivos   Texto   - Armazena caracteres que pode ser mostrados diretamente na tela ou modificados por um editor de textos simples.

  - Conhecido por arquivo sequencial.  - Tipo especial de arquivo que pode ser editado normalmente através de um editor de textos qualquer.

  - É ditos sequencial porque a leitura tem que ser feita sequencialmente do inicio ao fim do arquivo.

Page 6: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Tipos de Arquivos   Binário   - Sequencia de bits sujeita às convenções dos programas que o gerou.

  - Conhecido por Arquivos randômico, ou de acesso aleatório.

• É possível buscar uma determinada informações em qualquer posição, sem necessidade de percorrer todo o arquivo até alcançar a informação desejada. • O acesso a informação é direto.

Exemplo:

Arquivos executáveis, arquivos compactados , arquivos de registros

O sistema Operacional Windows, utiliza-se de uma ferramenta de registro para catalogar todos os softwares existentes, suas configurações, requisições, registradores e demais informações. São acessíveis digitando-se REGEDIT em "Executar". Importante destacar que só se deve alterar as informações lá contidas (ou excluí-las) se souber exatamente o que está fazendo.

Page 7: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Tipos de Arquivos  Resumo

  -Arquivos de acesso sequencial (Texto):

  •Arquivos nos quais são gravados e/ou lidos caracteres.   •Podem ser abertos em um editor de textos.

  -Arquivos de acesso aleatório( Binário)   •Arquivos nos quais são gravados e/ou lidos dados( por exemplo, int, float, char, double,struct,etc.).

  •Podem ser lidos a partir de qualquer posição, sem a necessidade de ler todos os dados anteriores.

  •Não podemos acessar seu conteúdo através de um editor de texto.

Page 8: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação   Passos   - Criar um ponteiro para a estrutura FILE(definida em stdio.h)

  - Abrir o arquivo  - Ler o arquivo.  - ler ou gravar dados no arquivo  - Fechar o arquivo

Page 9: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação -Declaração

  •Para acessarmos o conteúdo de um arquivo, declaramos um ponteiro de arquivo:

    Int main() {  FILE *arq;  ...  }   O ponteiro pf será associado

  ao nome do arquivo a ser

  aberto.

Page 10: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação

r Abre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto.

w Abrir um arquivo texto para gravação. Se o arquivo não existir, ele será criado. Se já existir, o conteúdo anterior será destruído.

a Abrir um arquivo texto para gravação. Os dados serão adicionados no fim do arquivo ("append"), se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente.

rb Abre um arquivo binário para leitura. . O arquivo deve existir antes de ser aberto.

wb Cria um arquivo binário para escrita. Se já existir, o conteúdo anterior será destruído

abAcrescenta dados binários no fim do arquivo, como no modo "a" anterior, só que o arquivo é binário.

Função fopen Abre um arquivo e retorna um ponteiro para eleCaso não consiga abri r o arquivo , retorna Null.

Page 11: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação

r+ Abre um arquivo texto para leitura e gravação. O arquivo deve existir e pode ser modificado.

w+ Cria um arquivo texto para leitura e gravação. Se o arquivo existir, o conteúdo anterior será destruído. Se não existir, será criado.

a+ Abre um arquivo texto para gravação e leitura. Os dados serão adicionados no fim do arquivo se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente.

r+b Abre um arquivo binário para leitura e escrita. O mesmo que "r+" acima, só que o arquivo é binário.

w+b Cria um arquivo binário para leitura e escrita. O mesmo que "w+" acima, só que o arquivo é binário.

a+bAcrescenta dados ou cria uma arquivo binário para leitura e escrita. O mesmo que "a+" acima, só que o arquivo é binário.

Função fopen

Page 12: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação - Escrita e leitura em arquivos texto

fputc(int c, FILE *f) Escreve um caractere c em um arquivo apontado por f. Devolve o caractere caso a operação seja bem sucedida ou a constante EOF caso contrário.

fgetc(FILE *f) Lê um caractere a partir de um arquivo apontado por f e devolve um inteiro com o valor deste caractere.

fscanf e fprintf Funcionam exatamente como as funções scanf() e printf() comuns, com a diferente de que essas recebem um parâmetro a mais que é um ponteiro para o arquivo a ser lido/escrito.

fgets(char *str, int tam, FILE *f)

Lê uma string com no máximo tam caracteres de um arquivo f e armazena em str

fputs(char *str, FILE *f)

Escreve uma string str em um arquivo f.

Page 13: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação -Escrita e leitura em arquivos binários

fseek(FILE *f, long tam, int origem)

Posiciona o ponteiro dentro de um arquivo binário f tam posições após origem. O parâmetro origem pode ter os seguintes valores:

SEEK_SET início do arquivo SEEK_CUR posição atual SEEK_END final do arquivo

fread(void *buffer, size_t b, size_t n, FILE *f)

Lê n registros de tamanho b de um arquivo f e armazena em buffer e devolve o número de elementos lidos.

Fwrite (void *buffer, size_t b, size_t n, FILE *f)

Escreve n registros de tamanho b armazenados em buffer em um arquivo f.

rewind(FILE *f) Redireciona o ponteiro de posição do arquivo f de volta para o início.

Page 14: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação -Fechamento (função fclose)

  • Utilizada para fechar um arquivo aberto por fopen().   • Retorna zero quando o fechamento se dá com sucesso.   Protótipo:   int fclose(FILE* pf) Exemplo: main(){ FILE *pf; pf = fopen(texte1.txt”,”w”); if (fp==Null) { printf( “ Erro na abertura arquivo”); exit(1);} fclose(pf);}

Page 15: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Manipulação - Outras funções para manipulação de arquivos ferror(FILE *f)

Retorna um inteiro indicando se houve um erro na última operação feita em um arquivo.

remove(char nome)

Apaga um arquivo com o nome nome do disco. Retorna zero caso seja bem sucedida e um número diferente caso contrário.

feof(FILE *f) Indica quando o final de um arquivo binário f foi atingido. Retorna um número diferente de zero caso tenha atingido e zero caso contrário.

fflush(FILE *f) Esvazia o conteúdo de uma stream de saída e escreve qualquer conteúdo existente em f. Devolve zero caso tenha obtido sucesso, caso contrário devolve EOF.

Page 16: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Resumo – Funções

Page 17: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo
Page 18: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Modos de Operação

Page 19: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Salvando uma estrutura

Page 20: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Lendo arquivo

Page 21: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Vamos em frente !!!

UFA !!!

Page 22: Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo

Exercícios – Lista 5