Linguagem de Programação C. Arquivos

Documentos relacionados
Sumário. Ficheiros. Ficheiros

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

Aula 16: Manipulação de Arquivos em C

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

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

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

Linguagem C: Arquivo-Texto

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

Métodos Computacionais. Arquivos

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

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

3.1 - Funções para manipular dados de entrada e saída padrão

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

LINGUAGEM C: ARQUIVOS

Ambiente de desenvolvimento

#include <stdio.h> #include <stdlib.h>

Lista de Comandos: Arquivo texto e Binário

Capítulo 6: Arquivos

Manipulação de Arquivos

Manipulação de Arquivos em C

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

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

LINGUAGEM C: ARQUIVOS

Capítulo 06: Arquivos

Operações com Arquivos

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

Introdução à Programação

Introdução à Programação em C Input / Output

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

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

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

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.

Arquivos em C Parte 2

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

Linguagem de Programação C

Comunicação entre Processos Named Pipes (FIFO)

Comunicação entre Processos

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

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Linguagem de Programação C

Transcrição:

Arquivos Cristiano Lehrer

Introdução Em C um arquivo é apenas um conjunto de bytes colocados uns após os outros de forma sequencial: Utilização de arquivos: Fonte de dados para o programa: Trata-se de um arquivo de entrada de dados (input). Destino de dados do programa: Trata-se de um arquivo de saída de dados (output).

Periféricos de entrada: Tipos de Periféricos Teclado, mouse, leitor de códigos de barras, Periféricos de saída: Tela do computador, impressora, Periféricos de entrada e saída: Memórias, discos rígidos, Todas as entradas e saídas de dados são considerados pelo C como streams.

Streams Conjunto sequencial de caracteres, isto é, um conjunto de bytes, sem qualquer estrutura interna: Programas e comandos veem apenas um conjunto de bytes; São independentes do dispositivo (device independent): Mesma sintaxe para enviar um fluxo de bytes para o monitor ou para a impressora, por exemplo. Em C cada stream está ligado a um arquivo, o qual pode não corresponder fisicamente a um arquivo existente num disco, como é o caso do teclado ou da tela do computador.

Tipo Arquivo A declaração de variáveis para o processamento de arquivos faz-se usando o tipo FILE definido no arquivo <stdio.h>: FILE *fp; /* fp file pointer */

Abertura de um Arquivo FILE *fopen(const char *filename, const char *mode) filename String contendo o nome físico do arquivo; No caso do arquivo C:\TMP\DADOS.DAT C:\\TMP\\DADOS.DAT mode String contendo o modo de abertura do arquivo

Modos de Abertura "r" read: abertura do arquivo para leitura Caso não possa abrir, a função devolve NULL. "w" write: abertura do arquivo para escrita É criado um novo arquivo com o nome passado à função. Notar que se já existir algum arquivo com o mesmo nome este é apagado e criado um novo arquivo, perdendo-se assim toda a informação nele contido. Caso não possa criá-lo, a função devolve NULL. "a" append: abertura do arquivo para acrescentar Se o arquivo não existir, ele é criado e funciona tal e qual o modo "w". Se o arquivo já existir, coloca-se no final deste, de forma a permitir a escrita dos dados de forma sequencial a partir dos dados já existentes. Caso não possa abrir ou criá-lo, a função devolve NULL.

Fechamento de um Arquivo int fclose(file *arq) A função devolve 0 em caso de sucesso ou a constante EOF em caso de erro: Embora os arquivos sejam automaticamente fechados quando uma aplicação termina, é um bom hábito dos programadores realizarem eles mesmos o fechamento dos arquivos, evitando assim graves problemas que podem surgir motivados por uma falha de energia ou desligamento súbito do computador. Nesse caso, os dados presentes em buffers não irão ser colocados no arquivo, e este último pode não ficar estável, podendo, em casos extremos, ocorrer mesmo a perda de setores do disco.

Exemplo abrir e fechar um arquivo #include <stdio.h> int main(){ FILE *fp; char s[100]; printf("forneça o nome do arquivo: "); scanf("%s", s); fp = fopen(s, "r"); if(fp == NULL){ printf("impossível abrir o arquivo %s\n", s); else{ printf("arquivo %s aberto com sucesso!\n", s); fclose(fp); return 0;

Exemplo leitura de dados do arquivo #include <stdio.h> int main(){ FILE *fp; char s[100]; char ch; printf("forneça o nome do arquivo: "); scanf("%s", s); fp = fopen(s, "r"); if(fp == NULL){ printf("impossível abrir o arquivo %s\n", s); else{ while((ch = fgetc(fp))!= EOF){ putchar(ch); fclose(fp); return 0;