Arquivo em C
Arquivo: A grande vantagem do uso de arquivos é que, como são mantidos em disco, os dados armazenado não são perdidos quando o programa termina sua execução. Diferente de vetores que são armazenados na memória principal.
• A desvantagem é que o acesso a disco é muito mais lento do que o acesso à principal, por isso o uso de arquivo torna a execução do programa mais lenta.
• Para acesso a disco mais eficiente e seguro, em geral, os sistemas operacionais usam uma área de memória principal, chamada buffer, para controlar a transferência de dados da memória para o disco e viceversa.
Arquivos
Programa
S. O.
Buffer
Disco
Arquivos – Linguagem C
Arquivo:
Para usar um arquivo, isto é, para ter acesso ao seu buffer, precisamos declarar uma variável do tipo:
FILE *a
Definido na biblioteca stdio.h.
Em seguida, devemos abrir o arquivo e associá-lo a essa variável.
Uma vez que isso tenha sido feito, podemos gravar ou ler registros do arquivo e, ao final, devemos fechá-lo. Em seguida é mostrada uma tabela com os principais comandos de manipulação de arquivos de registros, supondo que a é uma variável do tipo FILE *.
Arquivos – Linguagem C
COMANDO
FINALIDADE
a= fopen(“n” , ”m”)
Abre o arquivo de nome “n”, no modo “m” que pode ser:
• “wb”: cria arquivo vazio para gravação (write)
• “ab”: abre o arquivo para inclusão (append)
• “rb”: abre o arquivo para leitura (read)
Após a abertura, o arquivo fica sendo apontado pela variável de arquivo a. Caso o arquivo não possa ser aberto, a variável fica com o valor NULL.
fwrite(&r, sizeof(reg),1,a) Grava um registro r, do tipo reg, no arquivo apontado por a. fread(&r,sizeof(reg),1,a) Lê um registro r, do tipo reg, do arquivo apontado por a.
feof(a)
Informa se o final do arquivo apontado por a foi detectado na última operação realizada, devolvendo um valor verdadeiro ou falso. fclose(a)
Fecha o arquivo apontado pela variável a.