Você está na página 1de 11

Manipulao de Arquivos

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

Você também pode gostar