A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula Prática 11 Operações com Arquivos Monitoria 2013.2.

Apresentações semelhantes


Apresentação em tema: "Aula Prática 11 Operações com Arquivos Monitoria 2013.2."— Transcrição da apresentação:

1 Aula Prática 11 Operações com Arquivos Monitoria 2013.2

2 A estrutura FILE  É como um tipo de dado, mas não é um tipo propriamente dito  Definido no arquivo cabeçalho stdio.h da biblioteca  Declarar um ponteiro de arquivo  Exemplo: FILE *fp;

3 Abrindo e Fechando Arquivos  FILE *fopen(char *nomeDoArquivo, char *modo); Abre um arquivo e retorna um ponteiro para ele Se algum erro ocorrer a constante NULL é retornada Exemplo: ○ fp = fopen(“Arquivo.txt”, “r”); É de fundamental importância verificar se o arquivo foi aberto corretamente.  int fclose(FILE *fp); Fecha o arquivo passado como parâmetro Retorna 0 se o arquivo foi fechado corretamente Retorna a constante EOF se algum erro ocorreu Exemplo: ○ fclose(fp); É muito importante fechar todos os arquivos que o seu programa abriu, isto evita a perda dos dados armazenados no buffer. Fechar um arquivo faz com que qualquer caractere que tenha permanecido no "buffer" associado ao fluxo de saída seja gravado.

4 Forma formatada  int fscanf(FILE *pf, char *str,...); Similar a scanf() porém lê de um arquivo Exemplo: ○ fscanf(fp, “%d %c”, &num, &ch);  int fprintf(FILE *pf, char *str,...); Similar a printf() porém escreve em um arquivo Exemplo: ○ fprintf(fp, “%d %c”, num, ch);

5 fseek  int fseek(FILE *pf, long numBytes, int origem); Move a posição corrente de leitura ou escrita em um arquivo pf é o arquivo que se deseja percorrer numBytes é o número de bytes a serem movidos retorna 0 em caso de sucesso ou não-zero caso contrário. origem é o ponto de partida(geralmente usa-se as macros abaixo): NomeValSignificado SEEK_SET 0Inicio do arq. SEEK_CUR 1Ponto corrente SEEK_END 2Fim do arquivo

6 rewind e remove  void rewind(FILE *fp); Move o cursor para o inicio do arquivo Exemplo: ○ rewind(fp);  int remove(char *Arquivo); Apaga o arquivo que passamos o ponteiro. Retorna zero se ocorreu sucesso Não zero em caso de erro Exemplo: ○ remove(“Arquivo.txt”);

7 Verificando fim de arquivo  int feof(FILE *fp); Indica o fim de um arquivo Retorna não-zero se o arquivo chegou ao fim e zero caso contrário  EOF é uma constante que representa o fim do arquivo. fscanf() retorna EOF quando chega no fim do arquivo, então isso pode ser usado para checar se o arquivo terminou de ser lido.

8 Outra forma de ler/escrever de arquivo FILE * freopen ( const char * filename, const char * mode, FILE * stream ); Com essa função, você pode redirecionar a entrada padrão para um arquivo Exemplo : freopen (“input.txt”, “r”, stdin); freopen (“output.txt”, “w”, stdout); Após estes comandos serem utilizados, scanf() e printf() irão aparecer nos Arquivos definidos como parâmetro, e não mais no console. Vantagens : Você pode mudar da entrada padrão para o arquivo e vice versa só comentando essas linhas, sem precisar alterar o código todo. Desvantagens : Uma vez chamada essas funções, você não poderá usar arquivo e entrada padrão ao mesmo tempo, pois a referência foi perdida

9 Exercícios  1. Escreva um programa que funcione como uma agenda telefônica. Deverá existir uma estrutura que represente os contatos da agenda (nome e telefone). Deverá existir uma estrutura que representa a agenda, ela conterá um vetor dinâmico de ponteiros que vai servir para guardar os contatos da agenda e o número de contatos. Os contados deverão ser armazenados em ordem alfabética no vetor. O programa usará um arquivo chamado “agenda.txt” para salvar e carregar contatos entre as execuções. Um contato é representado na agenda por “NomeContato, Numero”. Haverá um contato por linha. O programa deverá apresentar as seguintes opções: Inserir contato Remover contato (receberá o nome do contato que será deletado) Buscar contato (receberá o nome do contato) Salvar agenda (salva a agenda atual no arquivo “agenda.txt” Carregar agenda (carrega a agenda do arquivo “agenda.txt” para o programa)


Carregar ppt "Aula Prática 11 Operações com Arquivos Monitoria 2013.2."

Apresentações semelhantes


Anúncios Google