Ficheiros
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;
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 |
fprintf |
Converte os dados de binário para caracteres e grava no ficheiro |
fgetc |
Lê apenas um |
fscanf |
Similar ao scanf |
EOF |
End of file. Fim do ficheiro |
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.
FILE * ponteiroFicheiro;
ponteiroFicheiro = fopen ("nomedoficheiro.txt",
"w");
fprintf (ponteiroFicheiro,"%s% s% s% d",
"Nós", "estamos", "em", 2012);
Fechando o ficheiro
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/
0 comentários:
Enviar um comentário