Função de biblioteca C - fread ()
Descrição
A função da biblioteca C size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) lê os dados do dado stream na matriz apontada, por ptr.
Declaração
A seguir está a declaração da função fread ().
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Parâmetros
ptr- Este é o ponteiro para um bloco de memória com um tamanho mínimo de * nmemb bytes.
size - Este é o tamanho em bytes de cada elemento a ser lido.
nmemb - Este é o número de elementos, cada um com um tamanho de size bytes.
stream - Este é o ponteiro para um objeto FILE que especifica um fluxo de entrada.
Valor de retorno
O número total de elementos lidos com êxito são retornados como um objeto size_t, que é um tipo de dados integral. Se esse número for diferente do parâmetro nmemb, significa que ocorreu um erro ou o fim do arquivo foi atingido.
Exemplo
O exemplo a seguir mostra o uso da função fread ().
#include <stdio.h>
#include <string.h>
int main () {
FILE *fp;
char c[] = "this is tutorialspoint";
char buffer[100];
/* Open file for both reading and writing */
fp = fopen("file.txt", "w+");
/* Write data to the file */
fwrite(c, strlen(c) + 1, 1, fp);
/* Seek to the beginning of the file */
fseek(fp, 0, SEEK_SET);
/* Read and display data */
fread(buffer, strlen(c)+1, 1, fp);
printf("%s\n", buffer);
fclose(fp);
return(0);
}
Vamos compilar e executar o programa acima que irá criar um arquivo file.txte escrever um conteúdo, este é o ponto de tutorial . Depois disso, usamosfseek() função para redefinir o ponteiro de gravação para o início do arquivo e preparar o conteúdo do arquivo que é o seguinte -
this is tutorialspoint