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