Você está na página 1de 11

Trabalhando eManipulando

Arquivos em C
Um arquivo pode estar associado a
qualquer dispositivo de entrada e
saída, como por exemplo: teclado,
video, impressora, disco rígido, etc.
Arquivos em C
Tipos de arquivo:
– Sequencial (texto)
• Caracteres armazenadas
sequencialmente.
• É possível determinar o
primeiro, segundo terceiro ..
caracteres que compõem o
arquivo
– Binário
• Formado por uma seqüência
de bytes sem correspondência
com um tipo de dado.
• Cabe ao programador fazer
esta correspondência quando
le e escreve estes arquivos.
Arquivos em C
• A linguagem C utiliza o conceito de fluxo (stream)
de dados para manipular os de dispositivos de
armazenamento.
• Dados podem ser manipulados em dois
diferentes tipos de fluxos: fluxos de texto e fluxos
binários.
• Um fluxo de texto é composto por uma seqüência
de caracteres, que pode ou não ser dividida em
linhas terminadas por um caracter de final de
linha.
Descritor de Arquivos
Memória primária • Descritor de arquivo:
Memória
– Em C: Estrutura de dados
secundária denominada FILE
Descritor de
Arquivo – Armazena informações
Arquivo (FILE) sobre o arquivo em
“Físico” memória secundária
(arquivo físico).
– O arquivo lógico e
armazenado em variáveis de
Arquivo “lógico” memória definidas pelo
em memória programador.
– Criando um descritor:
FILE *parquivo;
Trabalhar com Arquivos

• O processo de trabalhar com arquivos em C


consiste em três etapas:
1. Abrir o arquivo;
2. Ler e/ou gravar as informaçõeses desejadas no
arquivo;
3. Fechar o arquivo.
Trabalhar com Arquivos

Antes de qualquer operação ser executada


com o arquivo, ele deve ser aberto. Esta
operação associa um fluxo de dados a um
arquivo.
Um arquivo pode ser aberto de diversas
maneiras: leitura, escrita, leitura/escrita,
adicão de texto, etc.
A função utilizada para abrir o arquivo é
fopen()
Abrindo e Fechando Arquivos
• Abrir um arquivo: função fopen(..)
– Associar um descritor a um arquivo físico:
FILE *parquivo;
char *nome = "texto.txt";
if (( parquivo = fopen(nome, "w+b")) ==
NULL) {
printf("\n\nNao foi possivel abrir
o arquivo para escrita.\n");
exit(1);
}
A função fopen()
fopen(nome arquivo,modo de uso).

Os modos de uso mais comuns são:


– r (de read) : abre um arquivo texto para leitura
– w (de write) : cria um arquivo texto para escrita
– a (de append) : para adicionar conteúdo no fim de um arquivo
texto já existente
– r+ : abre um arquivo texto para leitura/escrita
– w+ : cria um arquivo texto para leitura/escrita
Abrindo e Fechando Arquivos
FILE *pa Fopen (nome_do_arquivo_físico,
modo_de_abertura)
• Modos de abertura:
r Abre um arquivo texto para leitura
w Cria um arquivo texto para escrita
a Adiciona texto ao fim de um arquivo texto
rb Abre um arquivo binário para leitura
wb Abre um arquivo binário para escrita
ab Anexa a um arquivo binário
[r+, w+, a+ ]+ b O + inclui escrita ou leitura nos modos e o + b
define como binário
Abrindo e Fechando Arquivos
• Fechando um arquivo: função fclose(..)
– Quando um programa não precisa mais utilizar um
arquivo por um período de tempo longo, o arquivo pode
ser fechado
– Fechar um arquivo protege os seus dados, garante que
atualizações feitas serão salvas e libera o arquivo para
outros usuários ou programas poderem utiliza-lo.
fclose(parquivo);
Exemplo de uso
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *arquivo; //vai ser associada ao arquivo
arquivo = fopen("c:/facsul/testexx.txt","r");
if(arquivo==0)
printf("Erro na leitura do arquivo\n");
else
printf("Arquivo aberto com sucesso\n");
fclose(arquivo); //fecha arquivo
system("pause");
}

Você também pode gostar