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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Manipulação de arquivos Prof. Renato Pimentel 1 Introdução Até o momento, trabalhamos com programas que utilizam apenas a memória principal do computador: Dados são perdidos assim que o programa é finalizado; Entretanto, quase sempre é desejável que os dados criados/manipulados persistam mesmo após finalizarmos o programa, ou caso haja algum problema; Para que isso seja possível, devemos trabalhar com arquivos! Porém, linguagem C não possui comandos nativos que trabalham com arquivos: É necessário invocar bibliotecas que cuidam desses tipos de dados. 2 Prof. Renato Pimentel 1

2 Tipos de arquivos Basicamente, existem 2 tipos de arquivos: Arquivos texto: bits são agrupados 8 a 8, formando caracteres (tabela ASCII) Dados são escritos no arquivo da mesma forma que são escritos, por exemplo, na tela do programa; É possível abrir o arquivo em um editor de texto. Desvantagem: arquivos costumam ser maiores, aumentando também tempo de carregamento. Arquivos binários: bits formam agrupamentos especiais, formando documentos específicos, ex.: imagens, sons, etc. Dados são gravados exatamente como organizados na memória, ocupando assim menos espaço. 3 Operações de escrita e leitura sobre arquivos Diversas funções definidas na biblioteca stdio.h; Funções se limitam a operações de abrir/ fechar e ler/escrever caracteres e bytes. Ponteiro para arquivo (FILE *): Tipo especial de ponteiro para manipulação de arquivos. Ex.: FILE *p; Ponteiro aponta para uma região da memória (buffer) que contém informações do arquivo. 4 Prof. Renato Pimentel 2

3 Abrindo um arquivo Para abrir um arquivo, usamos a função fopen( ): Função retorna um ponteiro de arquivo associado ao arquivo sendo aberto, ou NULL em caso de erro de leitura; Sintaxe: FILE *fopen(char *nome_arquivo, char *modo); nome_arquivo caminho do arquivo no disco; Modo de que maneira o arquivo será manipulado. 5 Abrindo um arquivo Para o nome do arquivo, deve-se indicar o caminho (estrutura de pastas) até o mesmo, que pode ser: Absoluto (completo). Ex.: C:\\Projetos\\NovoProjeto\\arquivo.txt. Relativo em relação à pasta onde se encontra o executável. Ex. (para arquivo na mesma pasta que o programa): arquivo.txt ou.\\arquivo.txt. Nota: sempre usar contrabarra dupla '\\' no caminho (ver sequências de escape na aula introdutória de Linguagem C) 6 Prof. Renato Pimentel 3

4 Modos de operação de arquivos Modo Tipo Função r Texto Leitura. Arquivo deve existir. w Texto Escrita. Cria arquivo, se não houver; apaga anterior, se existir. a Texto Escrita. Dados são adicionados ao final (append). rb Binário Leitura. Arquivo deve existir. wb Binário Escrita. Cria arquivo, se não houver; apaga anterior, se existir. ab Binário Escrita. Dados são adicionados ao final (append). r+ Texto Leitura/escrita. Arquivo deve existir e pode ser alterado. w+ Texto Leitura/escrita. Cria arquivo, se não houver; apaga anterior, se existir. a+ Texto Leitura/Escrita. Dados são adicionados ao final (append). r+b Binário Leitura/escrita. Arquivo deve existir e pode ser alterado. w+b Binário Leitura/escrita. Cria arquivo, se não houver; apaga anterior, se existir. a+b Binário Leitura/Escrita. Dados são adicionados ao final (append). 7 Exemplo de abertura de arquivo 8 Prof. Renato Pimentel 4

5 Fechando um arquivo Para fechar um arquivo, usamos a função fclose( ): int fclose(file *fp); Função recebe como parâmetro único o ponteiro para arquivo em questão, e retorna 0 (ZERO) se fechamento bem sucedido ou um valor não-nulo em caso de erro. Porque fechar o arquivo: todos os dados que estão na memória intermediária (buffer) associado ao ponteiro são gravados no arquivo. Nota: função exit( ) vista no código anterior encerra o programa, antes fechando todos os arquivos que um programa tiver aberto. 9 Escrevendo em um arquivo Escrita de caractere: int fputc(int c, FILE *fp); retorna o próprio caractere, se escrita bem-sucedida, ou -1 (constante EOF) caso contrário. Ex.: fputc( x, fp); Ex.: fputc( A, stdout); // escrita na tela Escrita de string: int fputs(char *str, FILE *fp); retorna EOF se erro na escrita, ou um valor não-nulo, se texto escrito com sucesso. 10 Prof. Renato Pimentel 5

6 Lendo em um arquivo Leitura de caractere: int fgetc(file *fp); retorna a constante EOF quando erro de leitura; ou o caractere lido, na forma de seu valor inteiro, caso lido com sucesso. Ex.: char c; c = fgetc( x, arq); printf( %c, c); Ex.: char c = fgetc(stdin); // leitura do teclado Leitura de string: char *fgets(char *str, int tam, FILE *fp); retorna NULL se erro ou final de arquivo, ou o ponteiro para primeiro caractere da string recuperada em str. tam define o limite máximo de caracteres a serem lidos. Já vista no curso! 11 Final de arquivo: feof( ) Para saber se chegamos ao final do arquivo, usamos a função feof( ): int feof(file *fp); Função retorna 0 (zero) se final de arquivo não atingido; ou um valor não-nulo caso contrário. 12 Prof. Renato Pimentel 6

7 Final de arquivo: feof( ) Para saber se chegamos ao final do arquivo, usamos a função feof( ): int feof(file *fp); Função retorna 0 (zero) se final de arquivo não atingido; ou um valor não-nulo caso contrário. 13 Escrita e leitura de dados formatados Vimos como ler / escrever char e arrays de char (strings) em um arquivo. No caso de variáveis formatadas e de outros tipos, procedemos como visto na escrita / leitura via printf( ) e scanf( ): Novas funções: fprintf(file *fp, %..., lista de variáveis); fscanf(file *fp, %..., &lista de variáveis); Mesma sintaxe, porém com argumento adicional no início: ponteiro de arquivo. fprintf( ) escreve dados em *fp, e fscanf( ) lê dados a partir do mesmo. 14 Prof. Renato Pimentel 7

8 Blocos de bytes fread( ) e fwrite( ) Escrita no arquivo e leitura a partir do mesmo com blocos de bytes é feita com as funções fread( ) e fwrite( ). Usadas de preferência com arquivos binários. Porque: mesmo que gravação fosse feita em arquivo texto, dados seriam ilegíveis. Binários têm vantagem de ocupar menos espaço. 16 Prof. Renato Pimentel 8

9 Escrevendo blocos de bytes Para escrever um arquivo em blocos de bytes, usa-se a função fwrite( ): int fwrite(void *buffer, int nro_bytes, int count, FILE *fp); buffer: ponteiro genérico para região de memória que contém dados que serão gravados; nro_bytes: tamanho em bytes de cada unidade de dado a ser gravada; count: número de unidades de dados a serem gravadas; fp: ponteiro para o arquivo Retorno: valor inteiro que representa o número total de unidades gravadas: se menor que count, é indício de problemas. 17 Escrevendo blocos de bytes Exemplo: FILE *arq = fopen( arq.txt, wb ); int total_gravado, v[5] = {1,2,3,4,5}; total_gravado = fwrite(v,sizeof(int),5,arq); if (total_gravado!= 5) { } printf( Erro na escrita do arquivo ); system( pause ); exit(1); Obs.: Note que total de bytes a ser gravado será dado pelo produto nro_bytes*count. 18 Prof. Renato Pimentel 9

10 Escrevendo blocos de bytes Mais exemplos: float x = 5; struct aluno a; fwrite(&x,sizeof(float),1,arq); fwrite(&a,sizeof(struct aluno),1,arq); Obs.: na gravação de variáveis de tipos de dados primitivos (int, float, double, char) e criadas pelo programador (struct), deve-se acessar o endereço das mesmas através do operador &. No caso de arrays e strings, o próprio nome já indica endereço. 19 Lendo blocos de bytes Para ler um arquivo gravado via fwrite( ) (blocos de bytes), usa-se a função fread( ): int fread(void *buffer, int nro_bytes, int count, FILE *fp); buffer: ponteiro genérico para região de memória onde dados serão gravados; nro_bytes: tamanho em bytes de cada unidade de dado a ser lida do arquivo; count: número de unidades de dados a serem lidas; fp: ponteiro para o arquivo. Retorno: valor inteiro que representa o número total de unidades efetivamente lidas: se menor que count, é indício de problemas. 20 Prof. Renato Pimentel 10

11 Lendo blocos de bytes Exemplo: FILE *arq = fopen( arq.txt, rb );; int total_lido, v[5]; total_lido = fread(v,sizeof(int),5,arq); if (total_lido!= 5) { } printf( Erro na leitura do arquivo ); system( pause ); exit(1); Obs.: Note que total de bytes a ser gravado será dado pelo produto nro_bytes*count. 21 Escrevendo blocos de bytes Mais exemplos: float x; char str1[20]; fread(&x,sizeof(float),1,arq); fread(str1,sizeof(char),12,arq); str1[12] = '\0'; Dica: é preciso, após a leitura de uma string, atribuir caractere '\0' para indicar final útil da mesma. Neste caso, sabíamos o tamanho. De modo geral, é bom gravar no arquivo, antes da string, dado inteiro contendo o tamanho da mesma. O mesmo vale para arrays! 22 Prof. Renato Pimentel 11

12 Escrevendo blocos de bytes Exemplo: gravação. char str[] = Ola mundo! ; unsigned int t = strlen(str); fwrite(&t, sizeof(unsigned int), 1, arq); fwrite(str,sizeof(char), t, arq); Leitura: fread(&t, sizeof(unsigned int), 1, arq); fread(str,sizeof(char), t, arq); str[t] = '\0'; 23 Movimentando-se em um arquivo: fseek( ) O acesso a um arquivo é sempre feito sequencialmente. Entretanto, é possível fazer a leitura randômica de um arquivo em C, com função fseek( ); int fseek(file *fp, long numbytes, int origem); fp: ponteiro para o arquivo; numbytes: total de bytes a partir da origem a ser pulado. É possível usar valor negativo (para retroceder, e não avançar); origem: determina a partir de onde numbytes de movimentação serão contados. Retorno: 0 (ZERO) quando movimentação bem-sucedida, ou valor não-nulo, em caso de erro. 24 Prof. Renato Pimentel 12

13 Movimentando-se em um arquivo: fseek( ) Valores possíveis para origem, definidos na biblioteca stdio.h: Constante Valor Significado SEEK_SET 0 Início do arquivo SEEK_CUR 1 Posição atual do arquivo SEEK_END 2 Final do arquivo 25 Exemplo: Movimentando-se em um arquivo: fseek( ) 26 Prof. Renato Pimentel 13

14 Outras funções Para retornar um arquivo para seu início: rewind( ). void rewind(file *fp); Excluindo o arquivo int remove(char *nome_do_arquivo); Note que deve-se passar uma string com o caminho e nome do arquivo, e não um ponteiro para mesmo. Retorna 0 (ZERO) se exclusão oc; valor não-nulo caso contrário. 27 Outras funções Para determinar se certa operação de manipulação falhou, use ferror( ): int ferror(file *fp); Retorna 0 (ZERO) se nenhum erro ocorreu; valor não-nulo caso contrário. Forçando a escrita de dados do buffer no arquivo, mesmo antes que o mesmo esteja cheio e antes do fechamento do arquivo: fflush( ): int fflush(file *fp); Retorna 0 (ZERO), se operação bem-sucedida; constante EOF (geralmente, -1), se houver algum erro. 28 Prof. Renato Pimentel 14

15 Exercícios 1. Escreva um programa que leia do usuário os nomes de 2 arquivos texto. Em seguida, crie um terceiro arquivo texto com o conteúdo dos dois primeiros juntos (o conteúdo do primeiro seguido do conteúdo do segundo). 2. Faça um programa que leia um arquivo texto contendo uma lista de compras. Cada linha do arquivo possui nome, quantidade e valor unitário do produto. O programa então exibe o total da compra. 29 Exercícios 3.Faça um programa que escreva em um arquivo binário os dados de um aluno. O aluno deve ter seus dados armazenados em uma estrutura contendo número de matricula, nome, e a nota de 3 provas do mesmo. 4. Faça a leitura dos dados do arquivo anterior, escrevendo os dados do aluno na tela. 30 Prof. Renato Pimentel 15

16 Referências BACKES, A. Linguagem C: completa e descomplicada. Rio de Janeiro: Elsevier, PAIVA, J. G. S. Notas de aula de algoritmos e programação de computadores. 31 Prof. Renato Pimentel 16

LINGUAGEM C: ARQUIVOS

LINGUAGEM C: ARQUIVOS LINGUAGEM C: ARQUIVOS Prof. André Backes ARQUIVOS Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial; Acesso

Leia mais

LINGUAGEM C: ARQUIVOS

LINGUAGEM C: ARQUIVOS LINGUAGEM C: ARQUIVOS Prof. André Backes Arquivos 2 Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial;

Leia mais

Algoritmos e Estruturas de Dados II IEC013

Algoritmos e Estruturas de Dados II IEC013 Algoritmos e Estruturas de Dados II IEC013 Linguagem C - Arquivos - Prof. César Melo cavmelo@dcc.ufam.edu.br Slides preparados pelo Prof. Leandro Galvão galvao@dcc.ufam.edu.br Conceitos iniciais Um arquivo

Leia mais

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

Linguagem C. Armazenamento de Dados em Arquivos - Continuação Linguagem C Armazenamento de Dados em Arquivos - Continuação Arquivos Binários Comandos para gravação e leitura de arquivos (revisão): FILE *arquivo; arquivo = fopen( nome, modo ); fwrite (&variavel, sizeof

Leia mais

Métodos Computacionais. Arquivos

Métodos Computacionais. Arquivos Métodos Computacionais Arquivos Arquivos Um arquivo representa um elemento de informação armazenado em memória secundária (disco) Características: Informações são persistidas Atribui-se nomes aos elementos

Leia mais

Arquivos em C Parte 2

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 Parte 2 Profa Rosana Braga Material preparado pela profa Silvana Maria Affonso de Lara 1º semestre de

Leia mais

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

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Arquivos em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Arquivos em C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Arquivos

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos 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

Leia mais

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

Manipulação de Arquivos. Técnicas de Programação Manipulação de Arquivos Técnicas de Programação Agenda do Dia Noções de Manipulação de Arquivos Ponteiros para Arquivos Abrindo Arquivos Fechando Arquivos Exercícios Lendo e Escrevendo em Arquivos Noções

Leia mais

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)

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) Arquivos Apesar da organização física sequencial dos bytes no arquivo, podemos em cima desta organização básica implementar outros tipos de estruturação para uma arquivo Arquivo Sequência de informações

Leia mais

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

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos: CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta

Leia mais

Outline. 33. Manipulação de arquivos DIM

Outline. 33. Manipulação de arquivos DIM Outline 33. Manipulação de arquivos DIM031 015.1 Leitura e escrita 3 s DIM031 33. Manipulação de arquivos 015.1 1 / 4 DIM031 33. Manipulação de arquivos 015.1 / 4 Arquivo = entidade de armazenamento de

Leia mais

Aula 16. Ficheiros de texto

Aula 16. Ficheiros de texto Aula 16 Aprender Empreender 1 Ficheiros de texto Ficheiros de texto Nos ficheiros de texto a informação é guardada sob a forma de linhas de texto, separadas por um carácter terminador de linha, '\n' (

Leia mais

Programação de Computadores I. Linguagem C Arquivos

Programação de Computadores I. Linguagem C Arquivos Linguagem C Arquivos Prof. Edwar Saliba Júnior Novembro de 2011 Unidade 12 Arquivos 1 Trabalhando com Arquivos Um arquivo em Linguagem C pode representar diversas coisas, como: arquivos em disco, uma impressora,

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos Manipulação de Arquivos Devemos iniciar nossa explanação pelo conceito de arquivo: Arquivo é uma unidade lógica utilizada para armazenar dados em disco ou em qualquer outro dispositivo externo de armazenamento.

Leia mais

Linguagem C: Arquivo-Texto

Linguagem C: Arquivo-Texto Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Introdução em C 2 3 Organização Introdução em C 1 Introdução em C 2 3 Introdução

Leia mais

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

Linguagem C arquivos. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C arquivos IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C... Vetores Matrizes Funções Recursão Registros Ponteiros

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Manipulação de Arquivos Linguagem de Programação Estruturado Sumário Introdução; E/S ANSI Versus E/S UNIX; E/S em C Versus E/S

Leia mais

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

Arquivos em C. Notas de Aula. Prof. Francisco Rapchan Arquivos em C Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan Há várias definições para arquivos em computação. Uma das mais usadas é a de que um arquivo é um conjunto de registros

Leia mais

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

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros

Leia mais

Arquivos Binários UFOP 1/25

Arquivos Binários UFOP 1/25 BCC 201 - Introdução à Programação I Arquivos Binários Guillermo Cámara-Chávez UFOP 1/25 Arquivos Binários: typedef, structs em Arquivos I t y p e d e f s t r u c t Dados { i n t dia, mes, ano ; d o u

Leia mais

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

Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 15 - Arquivos 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

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

Depuração e Teste de programas C C Depuração e teste de programas C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Depuração e Teste de programas C C Depuração e teste de programas C Profa Rosana Braga (adaptado de material do prof.

Leia mais

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

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 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 Estagiário PAE: Jesimar da Silva Arantes Professor: Claudio Fabiano

Leia mais

Manipulação de arquivos

Manipulação de arquivos 246 Arquivo En4dade básica do sistema operacional (SO). Estrutura que armazena informação de forma não volá4l em disposi4vos de memória permanente. Após sua criação, podem ser acessados e modificados por

Leia mais

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

Structs, Ponteiros e Arquivos. Prof. Maurício Dias Structs, Ponteiros e Arquivos Prof. Maurício Dias Registros e structs Um registro (= record) é uma coleção de várias variáveis, possivelmente de tipos diferentes. Na linguagem C, registros são conhecidos

Leia mais

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

Leitura de Arquivos. Prof. Fabrício Olivetti de França Leitura de Arquivos Prof. Fabrício Olivetti de França Leitura de Arquivos Na linguagem C temos um tipo especial chamado FILE para trabalhar com arquivos. Abrindo e fechando um arquivo Para abrir um arquivo

Leia mais

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

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo

Leia mais

Arquivos. Fundamentos de Arquivos. Discos X Memória Principal. Memória Secundária x Principal. Informação mantida em memória secundária (externa)

Arquivos. Fundamentos de Arquivos. Discos X Memória Principal. Memória Secundária x Principal. Informação mantida em memória secundária (externa) Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Fundamentos de Arquivos Adaptado dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira Arquivos Informação mantida em memória

Leia mais

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

Programação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO Introdução As informações que os programas utilizam são perdidas quando eles são finalizados ou quando o computador é desligado.

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo

Leia mais

Linguagem C Ficheiros Compilação Separada

Linguagem C Ficheiros Compilação Separada Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir

Leia mais

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

1 Arquivos em C. CEFETES Serra - Programação II Mateus Costa Notas de Aula - Arquivos CEFETES Serra - Programação II Mateus Costa Notas de Aula - Arquivos 1 Arquivos em C O objetivo deste capítulo e permitir a construção de programas que armazenem dados de forma permanente em dispositivos

Leia mais

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.

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. 1 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. O programa recebe inteiros, através da entrada padrão, e os insere

Leia mais

Linguagem de Programação C. Arquivos Binários

Linguagem de Programação C. Arquivos Binários Arquivos Binários Cristiano Lehrer Motivação Variáveis int e float tem tamanho fixo em memória: int 2 bytes. float 4 bytes. A representação em texto dos números precisa de uma quantidade variável de caracteres:

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação

Leia mais

LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS

LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS Prof. André Backes DEFINIÇÃO String Sequência de caracteres adjacentes na memória. Essa sequência de caracteres, que pode ser uma palavra ou frase Em outras palavras,

Leia mais

Ficheiros. IPC2 1999/2000 F. Nunes Ferreira

Ficheiros. IPC2 1999/2000 F. Nunes Ferreira Ficheiros IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Ficheiros Introdução 2 Os ficheiros são utilizados

Leia mais

1 Escrita de Arquivos Binário

1 Escrita de Arquivos Binário Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula prática sobre arquivos binários 1 Escrita de Arquivos Binário Esta aula será sobre escrita e leitura de arquivos binários. Nesta

Leia mais

Algoritmos e Programação _ Departamento de Informática

Algoritmos e Programação _ Departamento de Informática 16 ARQUIVOS Um arquivo corresponde a um conjunto de informações (exemplo: uma estrutura de dados-registro), que pode ser armazenado em um dispositivo de memória permanente, exemplo disco rígido. As operações

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Capítulo 6: Arquivos

Capítulo 6: Arquivos Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de

Leia mais

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

Cláudio C. Rodrigues Faculdade da Computação - UFU Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C 07: ARQUIVOS Trabalhando com arquivos O sistema de entrada e saída do ANSI C é composto por uma série de funções cujos protótipos estão reunidos

Leia mais

Fundamentos de Arquivos

Fundamentos de Arquivos Fundamentos de Arquivos Leandro C. Cintra M.C.F. de Oliveira Rosane Minghim 2004-2010 Fonte: Folk & Zoelick, File Structures 2 Arquivos Informação mantida em memória secundária HD Fitas magnéticas CD DVD

Leia mais

Fundamentos de Arquivos. SCC203 Algoritmos e Estruturas de Dados II

Fundamentos de Arquivos. SCC203 Algoritmos e Estruturas de Dados II Fundamentos de Arquivos SCC203 Algoritmos e Estruturas de Dados II Arquivos Informação mantida em memória secundária HD Disquetes Fitas magnéticas CD DVD 2 Discos X Memória Principal Tempo de acesso HD:

Leia mais

Estruturas de Dados. Profa. Juliana Pinheiro Campos

Estruturas de Dados. Profa. Juliana Pinheiro Campos Estruturas de Dados Profa. Juliana Pinheiro Campos Arquivos ESTRUTURAS DE DADOS Técnicas para que possamos salvar e recuperar informações em arquivos de maneira estruturada. Assim será possível implementar

Leia mais

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

INF 1620 P3-29/06/04 Questão 1 Nome: INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica

Leia mais

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

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

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

Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Prof. Rafael Oliveira olivrap@gmail.com Universidade Estadual Paulista Júlio de Mesquita Filho UNESP Rio Claro 2014 (Sem 2) O ambiente de execução

Leia mais

Capítulo 06: Arquivos

Capítulo 06: Arquivos Capítulo 06: Arquivos INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Funções de entrada e saída em arquivos Motivação: quando um programa precisa processar

Leia mais

Arquivos de Texto UFOP 1/31

Arquivos de Texto UFOP 1/31 BCC 201 - Introdução à Programação I Arquivos de Texto Guillermo Cámara-Chávez UFOP 1/31 Arquivos I Podem armazenar grande quantidade de informação Dados são persistentes (gravados em disco) Acessso aos

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

Leia mais

Entrad Entrada / Saíd a / Saída

Entrad Entrada / Saíd a / Saída Entrada / Saída Entrada e Saída em C Entrada e saída pelo console Funções getchar e putchar Retorna ou escreve na saída padrão 1 caracter Função puts Escreve uma cadeia de caracteres na saída padrão (gets

Leia mais

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

INF1005: Programação 1. Arquivos. 02/05/10 (c) Paula Rodrigues 1 INF1005: Programação 1 Arquivos 02/05/10 (c) Paula Rodrigues 1 Tópicos Principais Motivação Abertura e fechamento de arquivos Leitura com fscanf Escrita com fprintf 08/03/10 (c) Paula Rodrigues 2 Motivação

Leia mais

Arquivos. Introdução à Programação SI1

Arquivos. Introdução à Programação SI1 Arquivos Introdução à Programação SI1 1 Conteúdo Arquivos Conceitos Operações Métodos Exercícios 2 Arquivos Entrada e saída são operações de comunicação de um programa com o mundo externo Essa comunicação

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Manipulação de arquivos.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Manipulação de arquivos. CURSO BÁSICO DE PROGRAMAÇÃO AULA 16 Manipulação de arquivos. Retrospectiva Estrutura: Coleção de campos que podem ser referenciados pelo mesmo nome. A estrutura permite que informações relacionadas mantenham-se

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

Apêndice B. Cadeias de Caracteres (Strings)

Apêndice B. Cadeias de Caracteres (Strings) Apêndice B. Cadeias de Caracteres (Strings) Até agora, quando desejávamos indicar o número de elementos existentes em um vetor qualquer, utilizávamos uma variável inteira, digamos tam, para armazenar tal

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Prof. Renato Pimentel 1 Introdução Tipos de variáveis vistos

Leia mais

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

Prática de Programação. Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário Prática de Programação Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário Introdução A linguagem C/C++ permite criar tipos de dados definidos pelo usuário

Leia mais

Introdução à programação Computadores e programação I 2003

Introdução à programação Computadores e programação I 2003 Ficheiros sumário Introdução à programação Revisões sobre ponteiros brir e Fechar ficheiros leitura de caracteres de ficheiros Escrita de caracteres em ficheiros Leitura e Escrita formatada em ficheiros

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho CURSO BÁSICO DE PROGRAMAÇÃO AULA 15 Revisão Vetores e Matrizes Trabalho Definição: Introdução a Linguagem C Vetores Estrutura que permite armazenar um conjunto de dados do mesmo tipo na mesma variável;

Leia mais

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

Arquivos. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Arquivos Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Arquivos Um arquivo é uma coleção homogênea de itens que reside em disco. teclado

Leia mais

Exercícios: Arquivos

Exercícios: Arquivos Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra

Leia mais

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

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos

Leia mais

MC-102 Algoritmos e Programação de Computadores

MC-102 Algoritmos e Programação de Computadores MC-102 Algoritmos e Programação de Computadores Prof. Ariel Vargas Unicamp Arquivos Binários Arquivos Arquivos Texto Podem ser manipulados por um editor de texto comum Os dados são gravados como caracteres

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

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

INF 1620 P3-25/11/05 Questão 1 Nome: INF 1620 P3-25/11/05 Questão 1 Dizemos que uma matriz quadrada é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos de sua diagonal principal

Leia mais

Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 12 Ficheiros (Files) e I/O. Ficheiros

Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 12 Ficheiros (Files) e I/O. Ficheiros Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 12 Ficheiros (Files) e I/O Ficheiros Sumário: Hardware de entrada/saída: em revista Ficheiros e organização de

Leia mais

Organização de Arquivos. SCE-183 Algoritmos e Estruturas de Dados II

Organização de Arquivos. SCE-183 Algoritmos e Estruturas de Dados II Organização de Arquivos SCE-183 Algoritmos e Estruturas de Dados II 1 Arquivos Ao construir uma estrutura de arquivos, estamos impondo uma organização aos dados Qual a diferença entre os termos stream

Leia mais

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU Aula 9 Oficina de Programação Strings Profa. Elaine Faria UFU - 2017 String Cadeia de caracteres (ou String) É uma seqüência de letras e símbolos, na qual os símbolos podem ser espaços em branco, dígitos

Leia mais

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

4,0 pontos), exclusão de registro e exclusão completa de dados; 3. A nota final do trabalho terá um peso 4. Seminário interdisciplinar (Programação Estruturada + Estrutura de Dados) OBJETIVO: 1. Criar um cadastro simples, e armazenar os dados em um arquivotexto ou binário (2,0 pontos); 2. Realizar as operações

Leia mais

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Introdução a Linguagem C. Prof. Me. Hélio Esperidião Introdução a Linguagem C Prof. Me. Hélio Esperidião Características de um programa De forma geral a maioria dos programas são compostos por dados de entrada, processamento e dados de saída. Entrada de

Leia mais

INF P3-23/06/07 Questão 1 Nome:

INF P3-23/06/07 Questão 1 Nome: INF 1620 - P3-23/06/07 Questão 1 Considere a implementação de listas encadeadas para armazenar inteiros dada pelo tipo abaixo: struct lista { int info; struct lista* prox; typedef struct lista Lista; Escreva

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros INF Programação I Prof. Roberto Azevedo ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

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

14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1 14. Arquivos W. Celes e J. L. Rangel Neste capítulo, apresentaremos alguns conceitos básicos sobre arquivos, e alguns detalhes da forma de tratamento de arquivos em disco na linguagem C. A finalidade desta

Leia mais

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

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings) Computação 2 Aula 3 Vetores de caracteres (strings) Diego Addan diegoaddan@gmail.com Vetor de caracteres (Strings) Uma cadeia de caracteres, mais conhecida como string, é uma seqüência de caracteres (letras

Leia mais

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

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013 Estrutura de Dados Cadeia de Caracteres Roberto Araujo Ago/2013 Estrutura de Dados O que é uma estrutura de dados? É um arranjo pré-definido de um ou mais pedaços de dados Ex: Ex: Os carateres 'u', 'v',

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada

Leia mais

Arquivos. Estruturas de Dados II Vanessa Braganholo

Arquivos. Estruturas de Dados II Vanessa Braganholo Arquivos Estruturas de Dados II Vanessa Braganholo Entidades } Aplicações precisam armazenar dados sobre as mais diversas entidades, que podem ser concretas ou abstratas } Funcionário de uma empresa (concreto)

Leia mais

Leandro C. Cintra M.C.F. de Oliveira Rosane Minghim PAE 2012: Rafael Martins. Fonte: Folk& Zoelick, File Structure

Leandro C. Cintra M.C.F. de Oliveira Rosane Minghim PAE 2012: Rafael Martins. Fonte: Folk& Zoelick, File Structure Fundamentos de Arquivos Leandro C. Cintra M.C.F. de Oliveira Rosane Minghim 2004-2012 PAE 2012: Rafael Martins Fonte: Folk& Zoelick, File Structure 2 Arquivos Informação mantida em memória secundária HD

Leia mais

Programação. Folha Prática 10. Lab. 10. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.

Programação. Folha Prática 10. Lab. 10. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved. Programação Folha Prática 10 Lab. 10 Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 10 10ª semana

Leia mais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

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

INF 1620 P1-14/04/07 Questão 1 Nome: INF 1620 P1-14/04/07 Questão 1 Considerando o critério de aprovação de uma disciplina que determina que um aluno está aprovado se a média ponderada de suas três provas for maior ou igual a 5.0, onde a

Leia mais

Aula 1 Apresentação do Curso

Aula 1 Apresentação do Curso Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 1 Apresentação do Curso Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é

Leia mais

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

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções

Leia mais

1ª Lista de Exercícios

1ª Lista de Exercícios Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule

Leia mais

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

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores

Leia mais