Funzione libreria C - fread ()

Descrizione

La funzione di libreria C. size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) legge i dati dal dato stream nell'array puntato da ptr.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione fread ().

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

Parametri

  • ptr- Questo è il puntatore a un blocco di memoria con una dimensione minima di * nmemb byte.

  • size - Questa è la dimensione in byte di ogni elemento da leggere.

  • nmemb - Questo è il numero di elementi, ciascuno con una dimensione di size byte.

  • stream - Questo è il puntatore a un oggetto FILE che specifica un flusso di input.

Valore di ritorno

Il numero totale di elementi letti correttamente viene restituito come oggetto size_t, che è un tipo di dati integrale. Se questo numero è diverso dal parametro nmemb, si è verificato un errore o è stata raggiunta la fine del file.

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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);
}

Compiliamo ed eseguiamo il programma sopra che creerà un file file.txte scrivi un contenuto questo è tutorialspoint . Dopodiché, usiamofseek() funzione per reimpostare il puntatore di scrittura all'inizio del file e preparare il contenuto del file che è il seguente:

this is tutorialspoint