Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Gravando e lendo Blocos de dados em Arquivos C
- Podemos escrever e ler blocos de dados em arquivos C através das funções: fwrite() e fread()
- A função fwrite()
unsigned fwrite(void *bloco, int numero_de_bytes, int total, FILE *arq)
bloco: ponteiro para a região de memória na qual estão os dados;
numero_de_bytes: tamanho de cada posição de memória a ser escrita;
total: quantidade de blocos de memória de tamanho "numero_de_bytes" que devem ser escritos;
arq: ponteiro associado ao arquivo onde os dados serão escritos.
Exemplo:
- A função fread() é semelhante a fwrite() para realizar a leitura dos dados.
unsigned fread(void *bloco, int numero_de_bytes, int total, FILE *arq)
Exemplo:
- Os acessos aos dados em um arquivo geralmente é sequencial, mas é possível fazer buscas e acessos randômicos através da função fseek():
- Esta função posiciona a leitura ou escrita no arquivo em tantos bytes, a partir de um ponto especificado.
- A função fseek recebe 3 parâmetros
- fptr: o ponteiro para o arquivo;
- numbytes: é o total de bytes a partir do tipo a ser pulado;
- tipo: determina a partir de onde os numbytes de movimentação serão contados.
- Os valores possíveis para tipo estão definidos em stdio.h e são:
- Portanto, para mover numbytes a partir
- do início do arquivo, tipo deve ser SEEK_SET
- da posição atual, tipo deve ser SEEK_CUR
- do final do arquivo, tipo deve ser SEEK_END
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content