You are on page 1of 13

podem ser consultadas a qualquer momento. existem funções em C para criar. ou seja. A linguagem C trata os ficheiros como uma sequência de bytes. ler e escrever o conteúdo de ficheiros independente de quais sejam os dados armazenados. •Acesso concorrente: Vários programas podem aceder a um ficheiro de forma concorrente. Esta sequência pode ser manipulada de várias formas e para tanto.Ficheiros Os ficheiros permitem gravar os dados de um programa de forma permanente em formato digital. . •Grande quantidade dados pode ser armazenada: A quantidade de dados que pode ser armazenada depende apenas da capacidade disponível da unidade de armazenamento. Vantagens de utilizar ficheiros •Armazenamento permanente de dados: as informações permanecem disponíveis mesmo que o programa que as gravou tenha sido encerrado. Normalmente a capacidade da unidade de armazenamento é muito maior do que a capacidade disponível na memória RAM.

páginas XHTML. documentos do Word. Exemplos: Executáveis.Tipos de Ficheiros Em C trabalhamos com dois tipos de Ficheiros: 1) Ficheiro texto: Armazena caracteres que podem ser mostrados diretamente no ecran ou modificados por um editor de texto. Exemplos de ficheiros texto: documentos de texto. ficheiros . código fonte C. 2) Ficheiro binário é uma sequência de bits que obedece regras do programa que o gerou.

.

Sintaxe: FILE < *ponteiro > O tipo FILE está definido na biblioteca stdio.O ponteiro para Ficheiro Em C. A função deste ponteiro é “apontar” a localização de um registro. o ficheiro é manipulado através de um ponteiro especial para o ficheiro. Lembrando que FILE deve ser escrito em letras maiúsculas. Exemplo de declaração de um ponteiro para Ficheiro em C: FILE *pont_arq. .h.

. Sintaxe de abertura de Ficheiro: < ponteiro > = fopen(“nome do ficheiro”. A função fopen recebe como parâmetros o nome do Ficheiro a ser aberto e o tipo de abertura a ser realizado. a primeira operação necessária é abrir este ficheiro. Para trabalhar com um Ficheiro. Depois de aberto.”tipo de abertura”). realizamos as operações necessárias e fechamos o ficheiro. Sintaxe de fechamento de Ficheiro fclose< ponteiro >. Para fechar o ficheiro usamos a função fclose.Operações com Ficheiros do tipo texto Abertura de ficheiros.

ele será criado. Este código cria o ficheiro caso ele não exista. necessário que o ficheiro já esteja presente no disco.Tipos de abertura de ficheiros r: Permissão de abertura somente para leitura. permite acrescentar novos dados ao final do ficheiro. e caso o mesmo exista ele recria o ficheiro novamente fazendo com que o conteúdo seja perdido. Portanto devemos tomar muito cuidado ao usar esse tipo de abertura. Caso não exista. . É w: Permissão de abertura para escrita (gravação). a: Permissão para abrir um ficheiro texto para escrita(gravação).

.

nem sempre é possível abrir um ficheiro. por exemplo: Você está tentando abrir um ficheiro no modo de leitura. . O ficheiro está bloqueado por estar sendo usado por outro programa. Podem ocorrer algumas situações que impedem essa abertura. mas o ficheiro não existe. Quando o ficheiro não pode ser aberto a função fopen retorna o valor NULL. Você não tem permissão para ler ou gravar no ficheiro.Problemas na abertura de ficheiros Na prática. É altamente recomendável criar um trecho de código a fim de verificar se a abertura ocorreu com sucesso ou não.

variavel_string) . Sintaxe: fprintf(nome_do_ponteiro_para_o_ficheiro. Seu funcionamento é muito semelhante ao printf.Gravando dados em ficheiros A função fprintf armazena dados em um ficheiro. “%s”. a diferença principal é a existência de um parâmetro para informar o ficheiro onde os dados serão armazenados.

.

c). }while (c != EOF). Para realizar a leitura de um ficheiro inteiro caracter por caracter podemos usar getc dentro de um laço de repetição.Leitura de ficheiros Leitura caracter por caracter – Função getc() Faz a leitura de um caracter no ficheiro. . //exibe o caracter lido na tela printf("%c" . Sintaxe: getc(ponteiro_do_ficheiro). do { //faz a leitura do caracter no ficheiro apontado por pont_arq c = getc(pont_arq).

A leitura é efetuada de tal forma que a string lida é armazenada em um ponteiro do tipo char. Realiza a leitura dos caracteres até o final da linha quando encontra o caracter \n. A função pode ser finalizada quando encontrar o final do ficheiro. neste caso retorna o endereço da string lida. Se ocorrer algum erro na leitura .Leitura de strings – Função fgets() É utilizada para leitura de strings em um ficheiro.