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

Documentos relacionados
Manipulação de Arquivos

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

Outline. 33. Manipulação de arquivos DIM

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

Arquivos. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

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

Algoritmos e Estruturas de Dados II IEC013

Manipulação de Arquivos

LINGUAGEM C: ARQUIVOS

Linguagem C Ficheiros Compilação Separada

1 Escrita de Arquivos Binário

Manipulação de Arquivos

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

Métodos Computacionais. Arquivos

Apêndice B. Cadeias de Caracteres (Strings)

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

Linguagens de Programação I

INF 1620 P1-14/04/07 Questão 1 Nome:

Manipulação de Arquivos

Linguagem C: Arquivo-Texto

Linguagem C: Introdução

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

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

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

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

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

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

Entrad Entrada / Saíd a / Saída

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

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

14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO

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

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

1ª versão. #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

Manipulação de Streams e arquivos

MESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS

Programação Básica. Estrutura de um algoritmo

Manipulação de Arquivos Binários

Prática de Programação. Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

Módulo 5 Vetores e Alocação Dinâmica

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)

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Strings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos.

Elementos de programação em C

Linguagem C Entrada/Saída (console)

Ficheiros. IPC2 1999/2000 F. Nunes Ferreira

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Fundamentos de Arquivos. SCC203 Algoritmos e Estruturas de Dados II

Curso de C. Comunicação e Arquivos. 24/05/2010 Arnaldo V Moura, Daniel F. Ferber 1

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

Linguagem C (repetição)

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Linguagem C Funções. André Tavares da Silva.

Disciplina de Algoritmos e Programação

Capítulo 6: Arquivos

Programação: Vetores

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Leitura Segura de Strings

Vetores e Strings. 4. Funções Básicas para manipulação de Strings. A função gets() lê uma string do teclado. Sua forma geral é:

ITENS FUNDAMENTAIS Programando em C++

Arquivos. Estruturas de Dados II Vanessa Braganholo

ADTs (Abstract Data Types): Motivação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Modularização: Funções em C

Algoritmos e Estruturas de Dados I. Arquivos. Pedro O.S. Vaz de Melo

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

Disciplina de Algoritmos e Programação

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo

V - Lista de Exercícios de SO e Lab. 1-) Escreva um programa em C para criar um arquivo texto, com informações fornecidas pelo usuário não formatadas.

Linguagem C (estruturas condicionais)

Introdução a Programação de Jogos

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010

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

Ambiente de desenvolvimento

INTRODUÇÃO À LINGUAGEM C

Estruturas de Repetição. for() while() do-while() break; continue;

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

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função

ponteiros INF Programação I Prof. Roberto Azevedo

Uma observação importante é que uma função que não retorne qualquer tipo, isto é que retorne void, denomina-se de procedimento.

Alocação Dinâmica em C

Conceito de procedimentos e funções

Estruturas de Dados. Profa. Juliana Pinheiro Campos

Questão 1. Nome para o arquivo fonte questao1.c

Funções de Entrada e Saída Formatada Constantes de barra invertida

1ª Lista de Exercícios

INF 1620 P1-11/04/03 Questão 1 Nome:

GABARITO Questão a b c d e

Comunicação Inter-Processo em Unix. Pipes FIFO (Named Pipes) Pipes

Transcrição:

Manipulação de Arquivos Exercício/Exemplo: Com o que vimos até o momento sobre manipulação de arquivos. Construa um função em C que possua a capacidade de escrever um inteiro em um arquivo binário. Escreva um programa que se utiliza adequadamente da função que você projetou. 367

368 #include <stdio.h> typedef union { int i; char ch [sizeof(int)]; } pw; void put_int (pw word, FILE *fp); main() { FILE* fp; pw num; if(!(fp=fopen("arquivo.bin","wb"))) exit(1); scanf("%d",&num.i); put_int(num,fp); fclose(fp); }

369 void put_int (pw word, FILE *fp) { int count; for (count=0; count<sizeof(int); count++) putc(word.ch[count],fp); }

- getc Manipulação de Arquivos Seu protótipo é: int getc (FILE *fp); A função retorna um caractere lido do arquivo apontado por fp. OBS.: Equivalente à fgetc(). Exercício: Com base no exercício anterior, construa um função em C que possua a capacidade de ler e retornar a representação binária de um inteiro em um arquivo binário. 370

372 - feof EOF ("End Of File") indica o fim de um arquivo. Às vezes, é necessário verificar se um arquivo chegou ao fim. Para isto podemos usar a função feof(). Ela retorna não-zero se o arquivo chegou ao EOF, caso contrário retorna zero. Seu protótipo é: int feof (FILE *fp); Manipulação de Arquivos Outra forma de se verificar se o final do arquivo foi atingido é comparar o caractere lido por getc() com EOF. O programa a seguir abre um arquivo já existente e o lê, caracter por caracter, até que o final do arquivo seja atingido. Os caracteres lidos são apresentados na tela:

373 #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; int c; fp = fopen("arquivo.txt","r"); if(!fp) { printf( "Erro na abertura do arquivo"); exit(0); } while((c = getc(fp) )!= EOF) printf("%c", (char)c); fclose(fp); return 0; }

Exercício: Manipulação de Arquivos Construa um programa em C que manipule um arquivo texto da seguinte forma: o programa recebe da linha de comando com a qual foi executado, o nome do arquivo texto origem e o nome do arquivo texto destino (que será criado). O programa deve inverter o valor dos bits que compõem o arquivo de origem inserindo-os, na posição correspondente, no arquivo de destino. 374

Manipulação de Arquivos - Arquivos pré-definidos Quando se começa a execução de um programa, o sistema automaticamente abre alguns arquivos pré-definidos: 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). 377

378 Manipulação de Arquivos Cada uma destas constantes pode ser utilizada como um ponteiro para FILE, para acessar os periféricos associados a eles. Desta maneira, pode-se, por exemplo, usar: char ch = (char)getc(stdin); para efetuar a leitura de um caracter a partir do teclado, ou : putc(ch, stdout); para imprimir o mesmo no monitor.

Manipulação de Arquivos Com base no que vimos, podemos agora entender melhor o processo de leitura de valores fornecidos través da entrada padrão. Sempre que nos utilizamos de uma função para leitura de valores através do teclado, estamos solicitando que seja efetuada uma leitura na stream (buffer) que representa o arquivo apontado por stdin. Quando não é encontrado algo na stream ocorre uma espera pelo fornecimento de valores através do teclado, ou melhor, ocorre uma espera por precionamento(s) de tecla(s) no teclado. 379

Exercício: Manipulação de Arquivos Com base no que foi discutido, podemos construir um programa que leia uma string fornecida pelo usuário, através da entrada padrão, e a retorne na saída padrão. O comprimento máximo da string é de vinte caracteres válidos. A identificação do final da string é caracterizado pelo pressionamento da tecla enter ou ao se atingir o limite de caracteres válidos. 380