Introdução à linguagem C - Parte IV

Nesta continuação da maravilhosa série sobre a linguagem C, apresentaremos o uso de arquivos textos e binários. Como declará-los? Como abrí-los? Como usá-los? São algumas das perguntas que teremos respondidas aqui!

[ Hits: 76.616 ]

Por: Ricardo Rodrigues Lucca em 14/07/2003 | Blog: http://aventurasdeumdevop.blogspot.com.br/


Abrindo/Fechando arquivos



Quando tratamos de arquivos precisamos saber que antes de tudo precisamos abri-lo e depois de tudo precisamos fecha-lo. Para isso, existem essas duas funções que irei explicar.

FILE *fopen(char *arquivo, char *modo);


A função fopen da biblioteca stdio.h retorna uma estrutura com alguns dados sobre o arquivo, mas vamos ignorar isso. O primeiro parâmetro que fopen recebe é o nome do arquivo e o segundo é o modo, ou seja, como ele deve ser aberto.

Os modos possíveis de se usar aqui são:
  • r: abre o arquivo texto para leitura e o cursor é posto no inicio do arquivo.
  • r+: abre o arquivo para leitura e escrita. O cursor é posicionado no início do arquivo e o conteúdo anterior é apagado.
  • w: limpa o conteúdo do arquivo ou cria um arquivo texto para escrever. O cursor é posicionado no início do arquivo.
  • w+: abre o arquivo como leitura e escrita. Se o arquivo já existe ele o sobrescreve, senão ele o criará. O cursor é posicionado no início do arquivo e o conteúdo anterior é descartado.
  • a: abre o arquivo para anexação (não perder o conteúdo já inserido). O arquivo é criado se ele não existir. O cursor é posicionado no final do arquivo.
  • a+: abre o arquivo para anexação e leitura. O arquivo se não existir é criado. O cursor é posicionado no final do arquivo.
Todos os modos listados são para arquivos textos, podemos definir que o sistema deve tentará acessar um arquivo binário adicionando "b" aos modos do texto. Exemplo: "w+b", "r+b", "a+b".

Outro ponto importante, o "cursor" mencionado não é o do console. Ele é uma espécie de apontador para onde estamos no arquivo. Do mesmo modo, se o cursor estiver no final do arquivo e tentarmos ler algo teremos como retorno EOF.

int fclose(FILE *fd);


A função acima é a responsável por fechar um arquivo. A responsabilidade de fechar um arquivo, basicamente, é que ao se fechar o arquivo tudo que estiver no buffer antes será transferido para o arquivo e este será fechado.

Exemplo do que foi tratado até agora seria isso:

#include <stdio.h>

void main(void) {
          FILE *fd;
          fd=fopen("ABC","a");
          fclose(fd);
}

Os comandos mais básicos para se ler/escrever em arquivos são os comandos getc e putc. O getc é usado para se ler os caracteres do arquivo enquanto que putc serve para escrevermos em arquivos, mas infelizmente não tratarei desses arquivos. Vamos falar de algo um pouco mais evoluído...

Página anterior     Próxima página

Páginas do artigo
   1. Começando
   2. Abrindo/Fechando arquivos
   3. E/S de arquivos
   4. Exemplo
   5. Funções adicionais
   6. Dados de arquivos
   7. Exemplo 2
Outros artigos deste autor

Linux no Rio Grande do Sul

Introdução as Bibliotecas do C/C++

Ponteiros void na linguagem C

Utilizando a função QSort em C

VIM avançado (parte 1)

Leitura recomendada

Utilizando a função QSort em C

Liberando Memória ajustando o Tamanho das Strings em C

Introdução à linguagem C - Parte III

Criando uma calculadora com o Glade

Mais sobre recursividade em C/C++

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts