Escolar Documentos
Profissional Documentos
Cultura Documentos
Devemos iniciar nossa explanao pelo conceito de arquivo: Arquivo uma unidade lgica utilizada para armazenar dados em disco ou em qualquer outro dispositivo externo de armazenamento. Pode-se abrir, fechar, ler, escrever ou apagar um arquivo. A linguagem C manipula tanto arquivos quanto dispositivos de I/O, se utilizando do conceito de ponteiro para arquivo. disponibilizada uma srie de funes para trabalhar com este conceito, cujos prottipos esto reunidos em stdio.h.
357
Manipulao de Arquivos
A definio do ponteiro para arquivo tambm est no arquivo stdio.h. Podemos declarar um ponteiro de arquivo da seguinte maneira: FILE *p; Os arquivos podem ser classificados em: - binrios; - texto.
358
Manipulao de Arquivos
- fopen() Esta a funo de abertura de arquivos. Seu prottipo :
FILE *fopen (char *nome_do_arquivo,char *modo);
359
360
Manipulao de Arquivos
Poderamos ento, para abrir um arquivo binrio para escrita, escrever: FILE *fp; fp=fopen ("exemplo.bin","wb"); if (!fp) printf ("Erro na abertura do arquivo."); A condio !fp testa se o arquivo foi aberto com sucesso porque no caso de um erro a funo fopen() retorna um ponteiro nulo (NULL).
361
Manipulao de Arquivos
Uma vez aberto um arquivo, vamos poder ler ou escrever nele utilizando as funes que sero apresentadas a seguir. Toda vez que estamos trabalhando com arquivos, h uma espcie de posio atual no arquivo. Esta a posio de onde ser lido ou escrito o prximo dado. Normalmente, num acesso seqencial a um arquivo, no temos que mexer nesta posio pois quando lemos um dado a posio no arquivo automaticamente atualizada. Num acesso randmico teremos que mexer nesta posio.
362
Manipulao de Arquivos - fclose Quando acabamos de usar um arquivo que abrimos, devemos fech-lo. Para tanto usa-se a funo fclose(), cujo prottipo : int fclose (FILE *fp); O ponteiro fp passado funo fclose() determina o arquivo a ser fechado. A funo retorna zero no caso de sucesso.
363
Manipulao de Arquivos
Fechar um arquivo faz com que qualquer dado que tenha permanecido no "buffer" associado ao fluxo de sada seja gravado. A funo exit() fecha todos os arquivos que um programa tiver aberto.
364
Manipulao de Arquivos
- putc A funo putc a primeira funo de escrita em arquivo que veremos. Seu prottipo : int putc (int ch, FILE *fp); A referida funo escreve um caractere no arquivo apontado por fp. OBS.: fputc() equivalente a putc()
365
#include <stdio.h> int main() { FILE *fp; char string[100]; int i; fp = fopen("arquivo.txt","w"); if(!fp) { printf( "Erro na abertura do arquivo"); exit(1); } printf("Entre com a string a ser gravada no arquivo:"); gets(string); for(i=0; string[i]; i++) putc(string[i], fp); fclose(fp); return 0; } 366
Manipulao de Arquivos
Exerccio: Com o que vimos at o momento sobre manipulao de arquivos. Construa um funo em C que possua a capacidade de escrever um inteiro em um arquivo binrio. Escreva um programa que se utiliza adequadamente da funo que voc projetou.
367