quinta-feira, 4 de junho de 2020

Ficheiros - Linguagem C


          Ficheiros           

Este tópico descreve como os programadores C podem criar, abrir, fechar arquivos de texto ou binários para o armazenamento de dados.

Um arquivo representa uma sequência de bytes, independentemente de ser um arquivo de texto ou binário. A linguagem de programação C fornece acesso a funções de alto nível, bem como chamadas de baixo nível (nível do SO) para manipular arquivos em seus dispositivos de armazenamento.

A biblioteca principal stdio C contém um grande número de rotinas para manipulação de ficheiros/arquivos , antes de realizar qualquer operação é necessário incluir a biblioteca;

    #include <stdio.h>

A declaração da variável de ficheiro é feita através do comando FILE:

    FILE *variavelFile;

Em seguida pode usar a função fopen () para criar um novo arquivo ou abrir um arquivo existente.  Essa chamada inicializará um objeto do tipo FILE, que contém todas as informações necessárias para controlar o fluxo, que é descrita da seguinte forma: 

    variavelFile = fopen (nome,modo);

Onde:

  • variavelFile – é a variável do ficheiro;
  • nome – o nome do ficheiro;
  • modo – indica a acção a ser realizada, r é para leitura, r para escrita, etc;

Veja a seguir algumas opções possíveis e o seu significado:

Modo

Descrição

r

Abre um determinado ficheiro apenas para leitura

w

Abre um determinado ficheiro para escrita e caso não exista cria um novo.

a

Abre um determinado ficheiro para escrita no modo appending  acrescentando a informação ao conteúdo existindo e caso não exista cria um novo é criado.

r++

Abre um arquivo de texto para leitura e gravação

a+

Abre um arquivo de texto para leitura e gravação. Ele cria o arquivo se  não existir. A leitura começará do início, mas a escrita só pode ser anexada.

 

        Funções       

A linguagem C possui várias funções para a manipulação de arquivos:

Função

Descrição

fopen

para criar um novo arquivo ou abrir um  existente

fclose

Fecha um ficheiro aberto

fputc

Grava apenas um caracteres

fprintf

Converte os dados de binário para caracteres e grava no ficheiro

fgetc

Lê apenas um caracteres

fscanf

 Similar ao scanf

EOF

End of file. Fim do ficheiro

 

 

Leitura de ficheiros
As operações de leitura de ficheiros podem ser executadas usando as funções fscanf ou fgets. Ambas as funções executaram as mesmas operações que o scanf e obtém, mas com um parâmetro adicional, o ponteiro do arquivo.

O trecho de código para ler um arquivo é o seguinte:

FILE *ponteiroFicheiro;
ponteiroFicheiro = fopen ("nomedoFicheiro", "r");
fscanf (ponteiroFicheiro, "%s %s %s %d", str1, str2, str3,&ano);



Gravando no ficheiro

As operações de gravação de arquivo podem ser realizadas pelas funções fprintf e fputs com semelhanças com as operações de leitura. 

O trecho de código para gravar no ficheiro é o seguinte:

FILE * ponteiroFicheiro;
ponteiroFicheiro = fopen ("nomedoficheiro.txt", "w");
fprintf (ponteiroFicheiro,"%s% s% s% d", "Nós", "estamos", "em", 2012);



Fechando o ficheiro 

Após todas as operações bem-sucedidas, é necessário fechar o ficheiro. Para fechar um arquivo, recorre-se a função fclose.

O trecho de código para fechar um arquivo é o seguinte:

FILE * ponteiroFicheiro;
ponteiroFicheiro = fopen ("nomedoficheiro.txt", "w");
fclose (ponteiroFicheiro)


Exemplo 

Crie um programa que exibe conteúdo de um ficheiro.

#include <stdio.h>

int main(){

     FILE *fp1;

     char c;

     fp1= fopen ("ola.txt", "r");

     while(1){

        c = fgetc(fp1);

        if(c==EOF)

            break;

        else

            printf("%c", c);

     }

     fclose(fp1);

     return 0;

}


Video aula - Gravando os dados no ficheiro

        Referencias        

1.       https://www.tutorialspoint.com/cprogramming/c_file_io.htm

1.       https://www.geeksforgeeks.org/basics-file-handling-c/


Share:

0 comentários:

Enviar um comentário

Seguidores

Visitantes do blog

Pesquisar neste blogue

posts recentes

Traduzir