quinta-feira, 20 de dezembro de 2012

Manipulação de ficheiros binários


Abertura de ficheiros binários

A abertura é feita de forma semelhante aos ficheiros de texto (no post anterior ), bastando acrescentar a letra ‘b’ ao modo de abertura.

fp = fopen("dados.txt""rb");

Operação de escrita num ficheiro binário (fwrite)

A função fwrite transfere um bloco de dados, com um determinado tamanho em bytes, da memória primária para ao ficheiro.

Protótipo: int fwrite(const void *ptr, int tamanho, int n, FILE *fp)

Onde:
ptr é um apontador para qualquer tipo de dados e irá conter o endereço de memória do bloco de dados que pretendemos escrever no ficheiro;
tamanho em bytes de cada um dos elementos que vamos escrever;
n representa o número de elementos a escrever;
fp indica(aponta) o ficheiro de dados onde pretendemos realizar a operação de escrita.

Manipulação de Ficheiros de texto


Abertura do ficheiro

Esta operação consiste em “dizer” ao programa como aceder ao ficheiro, associando-o a uma variável (fp).

Que mais tarde a variavel (fp) torna-se num apontador, que "aponta" para o ficheiro.

Para poder abri-lo também é necessário indicar o nome do ficheiro (“texto.txt”) e o modo de abertura (“r“).

fp = fopen(“texto.txt”,”r”);



Por defeito a abertura do ficheiro é realizada como se de um ficheiro de texto se tratasse ( ver ficheiros binários ).

A tabela seguinte resume as diferentes formas de abertura de ficheiros de texto em Linguagem C:





Fecho do ficheiro

Esta operação vai eliminar a ligação criada entre o programa e a variável associada ao ficheiro, garantindo que todos os dados são gravados antes de realizada esta operação.

fclose(fp);