Arquivos

Disponível somente no TrabalhosFeitos
  • Páginas : 11 (2738 palavras )
  • Download(s) : 0
  • Publicado : 26 de junho de 2011
Ler documento completo
Amostra do texto
1 IMES – Centro Universitário São Caetano do Sul - CIÊNCIA DA COMPUTAÇÃO - 2º ANO – ESTRUTURAS DE DADOS - Prof. Edson Pinheiro Pimentel

ARQUIVOS EM C
Existem dois conjuntos de funções de E/S com arquivos na linguagem C. Num primeiro ponto, tem-se a E/S ANSI (com buffer ou formatada) e, em termos mais específicos, tem-se a E/S UNIX (sem buffer ou não formatada). Uma ênfase maior é dada aoprimeiro conjunto pela portabilidade deste sistema de entrada e saída com arquivos. Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo um registro após o outro) e aleatório (posicionando-se diretamente num determinado registro). O sistema de arquivos na linguagem C é definido para manipular uma série de dispositivos, tais como terminais, acionadores de disco e outros.Estes dispositivos são vistos como arquivos lógicos em C, denominados STREAM (abstração do dispositivo). O dispositivo real é denominado ARQUIVO (impressora, disco, console e outros). Um STREAM é associado a um ARQUIVO por uma operação de abertura do arquivo e, a partir da associação, todas as demais operações de escrita e leitura podem ser realizadas. A Tabela 1 apresenta as principais funçõesda linguagem C para manipulação de arquivos. Função Ação Abre um arquivo Fecha um arquivo Escreve um caractere em um arquivo Lê um caractere de um arquivo Posiciona em um registro de um arquivo Efetua impressão formatada em um arquivo Efetua leitura formatada em um arquivo Verifica o final de um arquivo Escreve tipos maiores que 1 byte em um arquivo Lê tipos maiores que 1 byte de um arquivofopen() Fclose () putc() e fputc() getc() e fgetc() fseek() fprintf() fscanf() feof() fwrite() fread()

Tabela 1 - Funções do padrão ANSI para manipulação de 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 em stdio.h . Todas estas funções trabalham com o conceito de "ponteiro de arquivo". Este não é um tipo propriamente dito, masuma definição usando o comando typedef. Esta definição também está no arquivo stdio.h. Podemos declarar um ponteiro de arquivo da seguinte maneira:

FILE *Arquivo;
Pela declaração anterior, passa a existir uma variável de nome Arquivo, que é ponteiro para um arquivo. O ponteiro de arquivo une o sistema de E/S a um buffer. O ponteiro não aponta diretamente para o arquivo em disco, mas contéminformações sobre o arquivo, incluindo nome, status (aberto, fechado e outros) e posição atual sobre o arquivo.

2

1) ABRINDO UM ARQUIVO
A função que abre um arquivo em C é a função fopen(), que devolve o valor NULL (nulo) ou um ponteiro associado ao arquivo, devendo ser passado para função o nome físico do arquivo e o modo como este arquivo deve ser aberto. Arquivo = fopen ("texto.txt","w");Com a instrução acima, está sendo aberto um arquivo de nome "texto.txt", no disco, habilitado apenas para escrita (w-write). Utilizando-se técnicas de verificação, pode-se codificar a instrução acima da seguinte maneira:
if ((Arquivo = fopen("texto.txt","w")) == NULL) { printf("\n Arquivo TEXTO.TXT não pode ser aberto : TECLE ALGO"); getch(); }

Além do modo de escrita, a linguagem C permite ouso de alguns valores padronizados para o modo de manipulação de arquivos, conforme mostra a Tabela 2
Modo "r" Significado

Abre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto. Abrir um arquivo texto para gravação. Se o arquivo não existir, ele será criado. Se já existir, o "w" conteúdo anterior será destruído. Abrir um arquivo texto para gravação. Os dados serãoadicionados no fim do arquivo ("append"), se "a" ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente. "rb" Abre um arquivo binário para leitura. Igual ao modo "r" anterior, só que o arquivo é binário. "wb" Cria um arquivo binário para escrita, como no modo "w" anterior, só que o arquivo é binário. "ab" Acrescenta dados binários no fim do arquivo, como no...
tracking img