Armazenamento de Dados em Arquivos

Slides:



Advertisements
Apresentações semelhantes
TRATAMENTO DE ARQUIVOS EM C
Advertisements

Um programa em C Bibliotecas Variáveis globais
Linguagem de Programação VI Tipos de Dados Compostos - structs
Listas encadeadas Prof. Rosana Palazon.
Listas duplamente encadeadas
Introdução a Programação
Prof. Luis Otavio Alvares
Prof. Flavio Marcello Strelow
Arquivos Prof: Erivelto Tschoeke, Msc. –
Prof: Erivelto Tschoeke, Msc. –
Linguagem de Programação 1
Prof.: Sergio Pacheco Linguagem PHP Prof.: Sergio Pacheco 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Strings.
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Slides: Prof. João Fabro UTFPR - Curitiba
Linguagem C Estruturas de Seleção.
Armazenamento de Dados em Arquivos
Slides: Prof. SIMÃO Revisão: Prof. João Fabro
Slides: Prof. João Fabro UTFPR - Curitiba
Fundamentos de Programação 1
Tratamento de Ficheiros
Ameliara Freire Programação I Ameliara Freire
PROGRAMAÇÃO ESTRUTURADA II
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
Manipulação de Arquivos em C
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
DAVID ANDERSON CARDOSO DANTAS
Aula Prática 12 Operações com Arquivos Monitoria
Curso de C/C++ Aula 4 Instrutor: Luiz Felipe Sotero
Computação Eletrônica
C APÍTULO II Armazenando e recuperando dados. A RMAZENANDO E RECUPERANDO DADOS Agenda Salvar dados Abrir um arquivo Criar e gravar Fechar Ler Bloquear.
Aula 10 - Armazenamento de Dados em Registros
Aula 13 - Armazenamento de Dados em Arquivos
Leandro Almeida  Parâmetros são utilizados em computação para possibilitar a construção de subprogramas genéricos.
Algoritmo e Programação
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.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tratamento de ficheiros Abrir e fechar um ficheiro.
Aula Prática 11 Operações com Arquivos Monitoria
Algoritmos e Estruturas de Dados
Operações com Arquivos Monitoria A estrutura FILE  É como um tipo de dado, mas não é um tipo propriamente dito  Definido no arquivo cabeçalho.
Aula Prática 11 Operações com Arquivos Monitoria
Prof. Alessandro Gonçalves
Comando de Seleção switch
Manipulando arquivos texto com C
Programação de Computadores I – Arquivos
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Salvando em Arquivos. Arquivos Um arquivo pode estar associado a qualquer dispositivo de entrada e saída, como por exemplo: teclado, video, impressora,
1 Programação em C Aula Considere que um banco armazena em arquivo as seguintes informações de seus clientes: número da conta (int), nome do cliente.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
Programação II Arquivos Autoria: Ernani Santos Modificação: Clebson Oliveira Adaptação: Claudia Boeres.
Programação de Computadores I – Arquivos Profa. Mercedes Gonzales Márquez.
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Slides 19 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Binários”.
Fundamentos de Programação 1 Slides 11 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “ Struct, Union, Enum, Typedef ”
Fundamentos de Programação 1 Slides C – Número 4 Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “vetores de números e de caracteres”
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções”
Fundamentos de Programação 1 Slides 21 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Encadeada”.
Fundamentos de Programação 1 Slides 22 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Duplamente Encadeada - Projeto com vários Arquivos”.
Estrutura de Dados STRUCTS Dilvan Moreira. Objetivos  Entender o que são e como usar:  Estrutura de Dados para a Linguagem C  Structs (Registros)
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C” 1.
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
1 Aula 08 Conteúdo de Suporte ao Trabalho 2 Prof. Filipe Mutz.
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas – 2017
Algoritmos e Estruturas de Dados I
Transcrição da apresentação:

Armazenamento de Dados em Arquivos Linguagem C Armazenamento de Dados em Arquivos

Arquivos Comandos para gravação e leitura de arquivos: FILE *arquivo; arquivo = fopen(“nome”, “modo”); fwrite (&variavel, sizeof (tipo_var), 1, arquivo); rewind (arquivo); fread (&variavel, sizeof ( tipo_var), 1, arquivo); fclose (arquivo); feof(arquivo);

Arquivos Comandos para abertura de arquivos: Definição de variáveis tipo “Arquivo”: FILE *arquivo; Abertura (e fechamento) de arquivos: arquivo = fopen(“nome”, “modo”); if(arquivo!=0) fclose(arquivo); Onde: nome = nome do arquivo modo = tipo do arquivo (ascii ou binário), e objetivo de uso (leitura, escrita, anexação) Obs: o comando fopen retorna um número inteiro: um número maior que zero significa que a abertura foi feita corretamente, 0(zero) indica erro de abertura do arquivo; Nunca tente fechar um arquivo que não foi aberto!!!

Arquivos

Arquivos Comando para leitura de dados de arquivos: fread (&variavel, sizeof ( tipo_var), t, arquivo); Onde: -variavel : variável a ser lida do arquivo (tipos básicos ou compostos, porém apenas variáveis, e não vetores); -tipo_var: o tipo da variável a ser lida do arquivo; -t é a quantidade de dados a ser lida(1 para uma só variável, mais para leitura de vetores); -arquivo: variável de arquivo Obs: o comando fread retorna um número inteiro: um número maior que zero significa que a leitura foi feita corretamente, 0(zero) indica erro de leitura do arquivo;

Arquivos Comando para escrita de dados em arquivos: fwrite (&variavel, sizeof ( tipo_var), t, arquivo); Onde: -variavel : variável a ser escrita no arquivo (tipos básicos ou compostos, porém apenas variáveis, e não vetores); -tipo_var: o tipo da variável a ser escrita no arquivo; -t é a quantidade de dados a ser escrita(1 para uma só variável, mais para leitura de vetores); -arquivo: variável de arquivo Obs: o comando fwrite retorna um número inteiro: um número maior que zero significa que a escrita foi feita corretamente, 0(zero) indica erro de escrita no arquivo;

Arquivos Comando para re-abertura de arquivos: rewind(arquivo); Reinicia o ponto de leitura/escrita do arquivo. Ao abrir o arquivo, a cada leitura/escrita, o arquivo vai para a “próxima” variável. O comando rewind reinicia a leitura/escrita a partir da primeira posição do arquivo. Comando para verificar o final do arquivo: feof(arquivo); Obs: o comando feof retorna um número inteiro: um número maior que zero significa que o arquivo está no final, e não há mais dados no arquivo, 0(zero) indica que ainda existem dados;

Exemplo Lista Postal

/. Um programa de lista postal muito simples. / #include <stdio /* Um programa de lista postal muito simples */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 2 struct Elemento { char nome [100]; char rua [100]; char cidade [100]; char estado [2]; char cep [10]; } Lista [TAM]; char menu (); void inicia_lista (); void cadastra (); void mostra (); void salva (); void carrega ();

int main() { char escolha; inicia_lista(); for ( ;; ) {escolha = menu(); switch (escolha) {case 'c': case 'C': { cadastra(); } break; case 'm': case 'M': { mostra(); } break; case 's': case 'S': { salva(); } break; case 'a': case 'A': { carrega(); } break; case 't': case 'T': { exit (0 ); } break; default : { printf ( "Opcao invalida. \n" ); } } printf ( "\n \n \n" ); system ( "Pause" ); return 0;

char menu() { char opcao; printf ("\n \n \n"); printf ( " (C)adastrar char menu() { char opcao; printf ("\n \n \n"); printf ( " (C)adastrar. \n" ); printf ( " (M)ostrar. \n" ); printf ( " C(A)arregar. \n" ); printf ( " (S)alvar. \n" ); printf ( " (T)erminar. \n" ); fflush(stdin); scanf ( "%c", &opcao ); return opcao; } void mostra() { int t; printf ("\n \n \n"); for( t = 0; t < TAM; t++ ) if (!(strcmp(Lista[t].nome, "")==0) ) printf ( "%s \n", Lista[t].nome); printf ( "%s \n", Lista[t].rua); printf ( "%s \n", Lista[t].cidade); printf ( "%s \n", Lista[t].estado); printf ( "%s \n", Lista[t].cep); } printf ("\n");

void cadastra () { int i; printf ("\n \n \n"); for (i = 0; i < TAM; i++ ) printf ( "Nome: \n" );fflush (stdin); gets ( Lista[i].nome ); printf ( " Rua: \n" );fflush (stdin); gets ( Lista[i].rua ); printf ( "Cidade: \n" );fflush(stdin); gets ( Lista[i].cidade ); printf ( "Estado: \n" );fflush(stdin); gets ( Lista[i].estado ); printf ( "CEP: \n" ); fflush (stdin); gets ( Lista[i].cep ); } void inicia_lista() { int t; for (t = 0; t < TAM; t++) strcpy(Lista[t].nome , ""); }

void salva () { FILE *fp; int i, result; printf ("\n \n \n"); fp = fopen ("cadastro", "wb"); if ( fp == NULL ) printf ( "O arquivo nao pode ser aberto. \n" ); return; } for (i = 0; i < TAM; i++ ) if ( !(strcmp(Lista[i].nome, "")==0) ) result = fwrite ( &Lista[i], sizeof ( struct Elemento ), 1, fp ); if ( result != 1 ) printf ( "Erro de escrita no arquivo. \n" ); fclose (fp);

void carrega () { FILE *fp; int i, resp; printf ("\n \n \n"); fp = fopen ( "cadastro", "rb" ); if ( fp == NULL ) printf ( "O arquivo nao pode ser aberto. \n" ); return; } inicia_lista (); for (i = 0; i < TAM; i++ ) resp = fread ( &Lista[i], sizeof (struct Elemento), 1, fp ); if ( resp != 1 ) if ( feof (fp) ) break; printf ( " Erro de leitura no arquivo. \n" ); fclose ( fp );

Detalhes: NULL equivale a 0(zero)