Introdução à Ciência da Computação - Fábio Mokarzel - Elsevier 2008

Page 427

418

INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO

Tabela 14.1 Modos de abertura de arquivos textos e binários Modo r w a rb wb ab r+ w+ rb+ wb+

Significado Abrir arquivo texto para leitura Abrir arquivo texto para escrita Abrir arquivo texto para aumentá-lo Abrir arquivo binário para leitura Abrir arquivo binário para escrita Abrir arquivo binário para aumentá-lo Abrir arquivo texto para leitura e escrita Abrir arquivo texto para escrita e leitura Abrir arquivo binário para leitura e escrita Abrir arquivo binário para escrita e leitura

A abertura para leitura de um arquivo que não existe falhará e a função fopen ( ) retornará NULL. A abertura para escrita de um arquivo não-existente criará esse arquivo, mas se ele já existir será apagado e reescrito. A abertura para aumentar um arquivo não-existente irá criá-lo, mas, se ele já existir, a escrita começa em seu final. Tal como foi visto para arquivos textos, uma variável do tipo FILE ocupa um espaço de vários bytes na memória principal, de modo semelhante a uma variável indexada. Esses bytes são numerados em ordem crescente a partir de zero. Num dado momento da execução do programa, apenas um desses bytes pode ser acessado (lido ou reescrito), e é aquele apontado pelo cursor do arquivo. Esse cursor pode se movimentar usando chamadas de funções para ler ou escrever no arquivo ou de uma função que explicite qual deve ser sua nova posição (a ser vista na Seção 14.5). Quando a função fopen ( ) é chamada para abrir um arquivo em um modo que não destrua seu conteúdo prévio, uma porção desse arquivo é copiada no espaço reservado para a variável do tipo FILE a ele associada. Caso o arquivo inteiro não caiba nesse espaço, essa porção é de tamanho tal que o preenche completamente. O cursor do arquivo fica posicionado em seu início, que também é o início da variável. Com operações de leitura e escrita nesse arquivo, o cursor vai se movimentando para a frente, podendo, num dado momento, atingir o final do espaço da variável. Não terá atingido necessariamente também o final do arquivo. Então, o conteúdo desse espaço é copiado em sua posição correspondente no arquivo e uma nova porção do mesmo é transferida para a variável, ficando o cursor no início de seu espaço, mas não mais no início do arquivo. Ao se encerrarem as operações nesse arquivo, o conteúdo da variável só será levado para ele no final do programa ou mediante a execução da operação de fechamento de arquivos, que, para o arquivo ff da ilustração anterior, deve ser feita pela seguinte chamada: fclose (ff) Essa função também pertence ao arquivo stdio.h. Recomenda-se o fechamento de um arquivo quando, em um programa, as operações que o envolvem tenham sido encerradas.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.