Arquivos em C – Funções e Operações em Arquivos

shape
shape
shape
shape
shape
shape
shape
shape

Neste artigo falaremos de funções de arquivo de operação em C, abertura de um arquivo, fechamento de um arquivo, o getw e funções putw, as funções fprintf e fscanf, o acesso aleatório a arquivos e função fseek.

Funções para operação de arquivos:

Função Operação
fopen() Cria um novo arquivo
Abre um arquivo existente
fclose() Fecha um arquivo em uso
fgetc() Lê um caractere de um arquivo
fgets() Lê uma string de um arquivo
putc() Escreve um caractere em um arquivo
fprintf() Writes a set of data values to a file
fscanf() Lê o arquivo em um tamanho definido
getw() Lê um inteiro de um arquivo
putw() Escreve um inteiro no arquivo
fseek() Aponto para uma posição definida em um arquivo
ftell() Mostra a posição atual em bytes
rewind() Aponta para o inicio do arquivo

fopen()

Para criar ou abrir um arquivo ou para leitura e/ou escrita:

FILE *arq;
arq = fopen("nome-do-arquivo","modo");

Em “modo” usamos um paramêtro que defini quais operações serão feitas no arquivo tais como leitura e/ou gravação, tais parâmetros são definidos como:

R – Abrir para leitura.
R+ – Leitura e gravação.
W – Gravação, caso um arquivo já exista ele será subscrito, caso o contrário um novo será criado.
W+ – Gravação e leitura, caso um arquivo já exista ele será subscrito, caso o contrário um novo será criado.
RB – Leitura em arquivo binário.
RB+ – Leitura e gravação em arquivo binário.
WB – Gravação em arquivo binário, caso um arquivo já exista ele será subscrito, caso o contrário um novo será criado.
WB+ – Gravação e leitura, caso um arquivo já exista ele será subscrito, caso o contrário um novo será criado.

fclose()

Um arquivo aberto usando a função fopen() pode ser fechado com a função fclose():

FILE *arq;

arq = fopen("masterdaweb.txt", "r");

fclose(arq); // Fecha o arquivo

fgetc()

A função fgetc() lê um único caractere de um arquivo.

fgetc(arq);

O exemplo acima lê um caractere do arquivo arq.

fgets()

A função fgets() lê até o final de uma linha caso o tamanho de definido no parâmetro da função seja suficiente, caso o contrário lê o tamanho definido.

char nome[100];

fgets(nome, sizeof(nome), arq);

O exemplo acima armazena o que foi lido na variável nome.

putc()

Escreve um caractere no arquivo.

putc ('a', arq);

O exemplo acima escreve a letra ‘a‘ no arquivo arq.

getw() e putw()

São semelhantes às funções GETC e PUTC e são usados ​​para ler e escrever valores inteiros:

FILE *arq;
arq = fopen("masterdaweb.txt","w+");

putw(inteiro,arq);
getw(arq);

fprintf() e fscanf()

As funções fprintf e fscanf são idênticas às funções printf e scanf, a diferença é que são usadas em arquivos.

fprintf(arq,%s%d%f”,nome,idade,7.5);

fscanf(arq,"%s%d”,nome,&idade");

fseek()

Aponta para um posição contada em bytes a partir de uma determinada posição:

fseek(arq, 50, SEEK_SET);

O exemplo acima aponta para a posição de 50 bytes contadas a partir de SEEK_SET (inicio do arquivo).

SEEK_SET – Início do arquivo.

SEEK_CUR – Posição atual.

SEEK_END – Final do arquivo.

ftell()

Mostra a posição atual no arquivo, contado a partir do início do arquivo.

ftell(arq);

rewind()

Aponta para o inicio do arquivo.

rewind(arq);

One Comment:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *