Manipulação de Arquivos

Documentos relacionados
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

Manipulação de Arquivos

13a. Aula Manipulação de arquivos

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

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

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com 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.

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

LINGUAGEM C: ARQUIVOS

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

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

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

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

TÉCNICAS DE PROGRAMAÇÃO

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Aula 16: Manipulação de Arquivos em C

Linguagem de Programação

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

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:

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

Linguagem de Programação

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

LINGUAGEM C: ARQUIVOS

INF 1005 Programação I - Prof. Hélio Lopes 24/04/2012

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

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

Métodos Computacionais. Arquivos

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

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

1/22 FICHEIROS BINÁRIOS

Arquivos em C. Material da Prof. Ana Eliza

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

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

Manipulação de arquivos

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

Programação II. Arquivos - Conceito. Arquivos

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

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

INF 1620 P2-14/10/05 Questão 1 Nome:

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

Capítulo 06: Arquivos

1 Escrita de Arquivos Binário

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

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

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

Linguagem C Ficheiros Compilação Separada

Fundamentos de Programação 1

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

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

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

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

Introdução a Programação. Arquivos

Introdução à Programação

Programação de Computadores II

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

Referências. Arquivos. Tópicos Principais. Programação de Computadores II. Motivação. Motivação. Abertura de arquivo. Slides da profa.

Aluno: Matrícula: Turma:

INF 1620 P3-25/11/05 Questão 1 Nome:

Algoritmos e Estruturas de Dados II IEC013

Aula 16. Ficheiros de texto

Outline. 33. Manipulação de arquivos DIM

INF 1620 P4 30/06/07 Questão 1 Nome:

Mestrado em Engenharia Física Tecnológica

Linguagem C: Arquivo-Texto

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

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)

Faculdade de Computação

Programação de Computadores

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

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

CCO 016 / COM 110 Fundamentos de Programação

Manipulação de Arquivos

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

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

INF1005: Programação 1. Arquivos. 02/05/10 (c) Paula Rodrigues 1

Sumário. Ficheiros. Ficheiros

Arquivos. Estruturas de Dados II Vanessa Braganholo

INF 1620 P3-21/06/08 Questão 1 Nome:

Programação Estruturada

ARQUIVOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

INF 1620 P4 11/12/06 Questão 1 Nome:

INF 1620 P3-29/06/04 Questão 1 Nome:

Arquivos Binários UFOP 1/25

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

Programação Estruturada II

Linguagem C. Ponteiros. Alex Vidigal Bastos.

INF 1620 P4-01/07/08 Questão 1 Nome:

INF 1620 P2-23/10/04 Questão 1 Nome:

INF 1620 P3-02/07/02 Questão 1 Nome:

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 ]

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

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Transcrição:

394 Podemos escrever e ler blocos de dados em um determinado arquivo. Para tanto, a linguagem C, disponibiliza as funções fread() e fwrite(). - fread Manipulação de Arquivos O protótipo de fread() é: unsigned int fread (void *buffer, int numero_de_bytes, int count, FILE *fp); A função retorna o número de unidades efetivamente lidas. Este número pode ser menor que count quando o fim do arquivo for encontrado ou ocorrer algum erro.

- fwrite Manipulação de Arquivos A função fwrite() funciona como fread(), porém escrevendo no arquivo. Seu protótipo é: unsigned int fwrite(void *buffer, int numero_de_bytes, int count, FILE *fp); A função retorna o número de itens escritos. Este valor será igual a count, a menos que ocorra algum erro. O exemplo a seguir ilustra o uso de fwrite() e fread() para gravar e posteriormente ler uma variável float em um arquivo binário. 395

396 #include <stdio.h> int main() { FILE *pf; float pi = 3.1415, pilido; if(!(pf = fopen("arquivo.bin", "wb"))) exit(1); if(fwrite(&pi, sizeof(float), 1,pf)!= 1) { printf("erro na escrita do arquivo!"); exit(2); } fclose(pf); if(!(pf = fopen("arquivo.bin", "rb"))) exit(1); if(fread(&pilido, sizeof(float), 1,pf)!= 1) { printf("erro na leitura do arquivo!"); exit(3); } printf("\no valor de PI, lido do arquivo e': %.4f", pilido); fclose(pf); return(0); }

Manipulação de Arquivos Exercício/Exemplo: Construa funções na linguagem C que manipulem um determinado arquivo que contém registros, efetuando operações de escrita e leitura respectivamente. Um registro contém código, nome e salário de um funcionário especifico. Uma função deve escrever e a outra ler um determinado registro no arquivo especificado. 397

398 #include <stdio.h> typedef struct { long int codigo; char nome[20]; float salario; } t_reg;... void escrever_reg (FILE *fp, t_reg *r) { fwrite(r,sizeof(t_reg),1,fp); } t_reg ler_reg (FILE *fp) { t_reg temp; fread(&temp,sizeof(t_reg),1,fp); return temp; }

Manipulação de Arquivos - fseek Para se fazer procuras e acessos randômicos em arquivos usa-se a função fseek(). Esta move a posição corrente de leitura ou escrita no arquivo de um valor especificado, a partir de um ponto especificado. Seu protótipo é: int fseek (FILE *fp, long int numbytes, int origem); 399

Exercício: Manipulação de Arquivos Com base no exercício do slide 397, construa mais uma função, capaz de inserir um determinado registro em uma determinada posição no arquivo. Observação: A função deve receber o nome do arquivo a ser manipulado e o número de registros contido no mesmo entre os seus parâmetros. 400

Manipulação de Arquivos 402 - rewind A função rewind() de protótipo void rewind (FILE *fp); retorna a posição corrente do arquivo para o início. - remove Protótipo: int remove (char *nome_do_arquivo); Apaga um arquivo especificado, retornando zero caso seja bem sucedida; caso contrário, retorna um não nulo.

Manipulação de Arquivos A linguagem C permite ao programador ler e escrever em arquivos da maneira padrão com a qual já vínhamos lendo e escrevendo na tela. - fprintf A função fprintf() funciona como a função printf(). A diferença é que a saída de fprintf() é um arquivo e não a tela do computador. Seu Protótipo é: int fprintf (FILE *fp,char *str,...); Como já poderíamos esperar, a única diferença do protótipo de fprintf() para o de printf() é a especificação do arquivo destino através do ponteiro de arquivo. 403

- fscanf Manipulação de Arquivos A função fscanf() funciona como a função scanf(). A diferença é que fscanf() lê de um arquivo e não do teclado do computador. O seu protótipo é: int fscanf (FILE *fp,char *str,...); Como já poderíamos esperar, a única diferença do protótipo de fscanf() para o de scanf() é a especificação do arquivo origem através do ponteiro de arquivo. 404

405 /* Exemplo das funções apresentadas */ #include <stdio.h> #include <string.h> main() { FILE *p; char str[80],c; fprintf(stdout,"entre com um nome para o arquivo: "); fgets(str,80,stdin); if (str[strlen(str)-1]=='\n') str[strlen(str)-1]='\0'; if (!(p = fopen(str,"w+"))) exit(1); fprintf(p,"\neste e um arquivo chamado: %s\n", str); rewind(p); while (!feof(p)) { fscanf(p,"%c",&c); fprintf(stdout,"%c",c); } fclose(p); return(0); }

Exercício: Manipulação de Arquivos Construa uma função em C que possua o seguinte protótipo: void print (char *arq, float *m, int i, int j); onde m é o endereço inicial dos elementos de uma determinada matriz, i e j são, respectivamente, o número de linhas e de colunas da referida matriz, e arq conterá o nome de uma arquivo texto que deve ser criado e neste deve ser escrita a matriz mencionada com layout adequado. 406