13a. Aula Manipulação de arquivos

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

Arquivos em C Parte 2

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Arquivos em C

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

LINGUAGEM C: ARQUIVOS

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

Manipulação de Arquivos

Linguagem C. Armazenamento de Dados em Arquivos - Continuação

SSC304 Introdução à Programação Para Engenharias. Arquivos. GE4 Bio

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Manipulação de arquivos

LINGUAGEM C: ARQUIVOS

Manipulação de Arquivos

Programação para Computação 13ª Aula

Depuração e Teste de programas C C Depuração e teste de programas C

Algoritmos e Estruturas de Dados II IEC013

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

E/S em Arquivo. Para ler ou escrever arquivos é preciso usar ponteiros de arquivo. Um ponteiro de arquivo é uma variável ponteiro do tipo FILE:

Aula 16: Manipulação de Arquivos em C

Arquivos em C. Material da Prof. Ana Eliza

Programação de Computadores

Aula: ARQUIVOS. Introdução à Ciência da Computação I Simone Senger Souza. ICMC/USP São Carlos

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

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

TÉCNICAS DE PROGRAMAÇÃO

Programação II. Arquivos - Conceito. Arquivos

Alocação Dinâmica de Memória - Exercício Escreva um programa em C que manipule um vetor de inteiros não nulos alocado dinamicamente.

Laboratório de Introdução à Ciência da Computação I

C Arquivos. Adriano Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Structs, Ponteiros e Arquivos. Prof. Maurício Dias

Sequência de informações binárias armazenadas num dispositivo de armazenamento permanente. Em geral os bits são agrupados em grupos de 8 (1 byte)

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

Aula 26 - Arquivos. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

Introdução a Programação. Manipulando Arquivos em Modo Texto

Manipulação de Arquivos

9. Arquivos em C. Prof. Renato Tinós. Departamento de Computação e Matemática (FFCLRP/USP) Introdução à Computação II

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Fundamentos de Programação 1

Métodos Computacionais. Arquivos

Programação de Computadores II

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

Linguagem de Programação

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

Linguagem C: Arquivo-Texto

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL REGISTROS E ARQUIVOS. Profa. Dra. Milena Guessi Margarido

Arquivos. Estruturas de Dados II Vanessa Braganholo

Arquivos em C. Notas de Aula. Prof. Francisco Rapchan

ARQUIVOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Alocação Dinâmica de Memória - Exercício

Programação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO

CURSO BÁSICO DE PROGRAMAÇÃO AULA 17. Manipulação de arquivos binários.

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

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

Manipulação de arquivos

1/22 FICHEIROS BINÁRIOS

1 Arquivos em C. CEFETES Serra - Programação II Mateus Costa Notas de Aula - Arquivos

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

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

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

1 Escrita de Arquivos Binário

CCO 016 / COM 110 Fundamentos de Programação

Fundamentos de Programação

Leitura de Arquivos. Prof. Fabrício Olivetti de França

Linguagem C Ficheiros Compilação Separada

Linguagem C arquivos. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Outline. 33. Manipulação de arquivos DIM

Introdução a Programação. Arquivos

Ficheiros. IPC2 1999/2000 F. Nunes Ferreira

Faculdade de Computação

DICA: Preste bastante atenção nas funções de manipulação de arquivos e verás que você já utiliza arquivos desde a primeira aula.

Manipulação de Arquivos

1/24 FICHEIROS DE TEXTO

Manipulação de Arquivos

Sumário. Ficheiros. Ficheiros

Introdução à Computação II AULA 08 BCC Noturno - EMA896115B

Manipulação de Arquivos. Técnicas de Programação

O que é a modularização

Aula de Arquivos. Jesimar da Silva Arantes. Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos, SP

Programação de Computadores I. Linguagem C Arquivos

Operações em Arquivos. MC102 Felipe Bergo

Aula 16. Ficheiros de texto

Programação Computacional Aula 17: Manipulação de arquivos

MC-102 Aula 24 Arquivos em C e Parâmetros do Programa

Aula 26: Arquivos de texto

Cláudio C. Rodrigues Faculdade da Computação - UFU

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

Prof. Neucimar J. Leite. 3 de março de 2007

Arquivos Binários UFOP 1/25

4,0 pontos), exclusão de registro e exclusão completa de dados; 3. A nota final do trabalho terá um peso 4.

Comandos de Entrada e Saída

Transcrição:

13a. Aula Manipulação de arquivos 2013.2

O sistema de entrada e saída do ANSI C é composto por uma série de funções (fopen, fprintf, fgets, fclose) cujos protótipos estão reunidos em stdio.h Todas estas funções trabalham com o conceito de "ponteiro de arquivo". Este não é um tipo propriamente dito, mas uma definição usando o comando typedef. Esta definição também está no arquivo stdio.h 2

A função fopenabre um arquivo em disco para gravar ou ler, e cria uma estrutura de dados especial -FILE -que C utiliza internamente para descrever o arquivo. A função fprintfgrava itens de informação em um arquivo aberto, seguindo as especificações de formato que você fornece em um argumento para a função. A função fgetslê uma string de caracteres de um arquivo aberto. A função fclosefecha o arquivo quando as operações de entrada e saída estão completas. 3

stdin:dispositivo de entrada padrão (geralmente o teclado) stdout:dispositivo de saída padrão (geralmente o vídeo) stderr:dispositivo de saída de erro padrão (geralmente o vídeo) stdaux:dispositivo de saída auxiliar (em muitos sistemas, associado à porta serial) stdprn:dispositivo de impressão padrão (em muitos sistemas, associado à porta paralela) 4

Representa o arquivo em operações de entrada ou saída. Funções de I/O em arquivos pedem essa variável ponteiro FILE como um de seus argumentos. A variável ponteiro FILE é o identificador que representa o arquivo enquanto ele estiver aberto. Sintaxe: FILE *ponteirodearquivo; 5

Função para abertura/criação de um arquivo: fopen() FILE *fopen(char*nome_do_arquivo,char*modo); O nome_do_arquivodetermina qual arquivo deverá ser aberto. Este nome deve ser válido no sistema operacional que estiver sendo utilizado. O modode abertura diz à função fopen() que tipo de uso você vai fazer do arquivo. 6

"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. Igual ao modo "r" anterior, só que o arquivo é binário. 7

"wb" Cria um arquivo binário para escrita, como no modo "w" anterior, só que o arquivo é binário. "ab" Acrescenta dados binários no fim do arquivo, como no modo "a" anterior, só que o arquivo é binário. "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. 8

"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+b" Acrescenta dados ou cria uma arquivo binário para leitura e escrita. O mesmo que "a+" acima, só que o arquivo é binário 9

Quando acabamos de usar um arquivo que abrimos, devemos fechá-lo. Para tanto usa-se a função fclose() cujo protótipo é: int fclose (FILE *p); O ponteiro ppassado à função fclose() determina o arquivo a ser fechado. A função retorna zerono caso de sucesso. 10

#include <stdio.h> #include <conio.h> #include <stdlib.h> main () { FILE *arq; system ("cls"); printf ("Teste com arquivos texto"); arq = fopen ("Cadastro.txt", "wt"); } if ( arq == NULL ) { printf ("\nimpossível criar arquivo Cadastro.txt!"); printf ("\npressione qualquer tecla."); } else if ( fclose(arq)!= 0 ) printf("\nproblemas ao fechar arquivo Cadastro.txt!"); else { printf("\narquivo Cadastro.txt fechado e criado com sucesso!"); printf("\nconfirmando:\n"); system ("dir cadastro.txt"); } getch(); 11

fprintf() Funciona como a função printf() A única diferença é a especificação do arquivo de saída (output) int fprintf (FILE *fp,char *str,...); fscanf() Funciona como a função scanf() A única diferença é a especificação do arquivo de leitura (input) int fscanf (FILE *fp,char *str,...); 12

.. ḟprintf(p,"este e um arquivo chamado:\n%s\n", str); fclose(p); /* abre novamente para a leitura */ p = fopen(str,"r"); while (!feof(p)) { fscanf(p,"%c",&c); printf("%c",c); }... 13

Função fputs() char *fputs (char *str,file *fp); Função fgets() char *fgets (char *str, int tamanho, FILE *fp); str: a string a ser lida tamanho: o limite máximo de caracteres a serem lidos A função lê a string até que um caracterde nova linha seja lido ou tamanho-1 caracteres tenham sido lidos. Se o caracterde nova linha ('\n') for lido, ele fará parte da string A string resultante sempre terminará com '\0' 14

Função fwrite() unsigned fwrite(void *buffer,int numero_de_bytes,int count,file *fp); Função retorna o número total de elementos gravados Esse número pode ser menor do que o que foi especificado na chamada da rotina. 15

Função fread() unsigned fread (void *buffer, int numero_de_bytes, int count, FILE *fp); Função retorna o número total de elementos lidos Esse número pode ser menor do que o que foi especificado na chamada da rotina 16

Para se fazer buscas e acesso aleatório int fseek (FILE *fp,long numbytes,int origem); Esta move a posição corrente de leitura ou escrita no arquivo de um valor especificado, a partir de um ponto especificado O parâmetro origemdetermina a partir de onde os numbytes de movimentação serão contado Os valores possíveis são definidos por macros em stdio.h: SEEK_SET 0 Início do arquivo SEEK_CUR 1 Ponto corrente no arquivo SEEK_END 2 Fim do arquivo 17

Função para checar se a última operação de input/output foi bem sucedida: ferror() int ferror (FILE *fp); A função retorna zero, se nenhum erro ocorreu e um número diferente de zero se algum erro ocorreu durante o acesso ao arquivo. ferror() se torna muito útil quando queremos verificar se cada acesso a um arquivo teve sucesso, de modo que consigamos garantir a integridade dos nossos dados. Na maioria dos casos, se um arquivo pode ser aberto, ele pode ser lido ou gravado. Porém, existem situações em que isto não ocorre. 18

Função para gravar um único caracter: putc() int putc(char ch, FILE *fp); 19

rewind() retorna a posição corrente do arquivo para o início. void rewind (FILE *fp); remove() apaga um arquivo especificado. int remove (char *nome_do_arquivo); 20

FUNÇÃO FINALIDADE fopen( ) fclose( ) putc( ) Abrir um arquivo Fechar um arquivo Escrever um caracter em um arquivo fputc( ) Idem putc( ) getc( ) Ler um caracterde um arquivo fgetc( ) Idem getc( ) fseek( ) Posicionar o ponteiro de arquivo num byte específico fprintf( ) fscanf( ) feof( ) ferror( ) rewind( ) remove( ) fflush( ) É para o arquivo o queprintfé para o console É para o arquivo o quescanfé para o console Devolve verdadeiro se o fim do arquivo foi atingido Devolve verdadeiro se ocorreu um erro Posicionar o ponteiro de arquivo no início deste Apagar um arquivo Descarregar um arquivo 21