IL C paura() è una funzione di libreria standard utilizzata per leggere una determinata quantità di dati da un flusso di file. Definita all'interno, la funzione fread() legge il numero dato di elementi di dimensione specifica dal flusso di file e lo memorizza nella memoria buffer. Il numero totale di byte letti dalla funzione fread() è il numero di elementi letti moltiplicato per la dimensione di ciascun elemento in byte.
Sintassi del C fread()
size_t fread (void * buffer , size_t size , size_t count , FILE * stream );>
L'indicatore della posizione del file viene spostato automaticamente in avanti del numero di byte letti. Se gli oggetti letti non sono banalmente copiabili, come strutture o tipi di dati complessi, allora non si comportano correttamente.
Parametri
- buffer: Si riferisce al puntatore al blocco di memoria buffer in cui verranno archiviati i dati letti. dimensione: si riferisce alla dimensione di ciascun elemento in byte. count: Si riferisce al conteggio degli elementi da leggere. stream: si riferisce al puntatore al flusso di file.
Valore di ritorno
- La funzione restituisce il numero di elementi letti correttamente dal file.
- Se il valore restituito è inferiore al conteggio, significa che si è verificato un errore oppure è stata raggiunta la fine del file.
- Se il valore di size o count è zero, fread() restituisce zero e non esegue altre azioni.
Nota: La stessa funzione fread() non fornisce un modo per distinguere tra fine file ed errore, feof e ferror possono essere utilizzati per determinare cosa si è verificato.
Esempi di C fread()
Esempio 1
I programmi seguenti illustrano la funzione fread().
C
// C program to illustrate fread() function> #include> int> main()> {> >// File pointer> >FILE>* filePointer;> >// Buffer to store the read data> >char> buffer[100];> >// 'g4g.txt' file is opened in read mode> >filePointer =>fopen>(>'g4g.txt'>,>'r'>);> > >// Data is read from the file into the buffer> >// sizeof(buffer) specifies the size of each element to> >// be read 1 is the number of elements to read> >// filePointer is the file to read from> >while> (!>feof>(filePointer)) {> >fread>(buffer,>sizeof>(buffer), 1, filePointer);> >// Print the read data> >printf>(>'%s'>, buffer);> >}> >fclose>(filePointer);> >return> 0;> }> |
>
>
Supponiamo che il file g4g.txt contenga i seguenti dati:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Quindi, dopo aver eseguito il programma, l'output sarà
differenza tra due stringhe di Python
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Esempio 2
Questo programma C dimostra l'utilizzo della funzione fread() quando la dimensione o il conteggio del file è uguale a 0.
C
// C program to illustrate fread() function> // when size of the file or the value of count is equal to 0> #include> int> main()> {> >// File pointer> >FILE>* filePointer;> >// Buffer to store the read data> >char> buffer[100];> >// 'g4g.txt' file is opened in read mode> >filePointer =>fopen>(>'g4g.txt'>,>'r'>);> >// Case when count is equal to 0> >printf>(>'count = 0, return value = %zu
'>,> >fread>(buffer,>sizeof>(buffer), 0, filePointer));> >// Case when size is equal to 0> >printf>(>'size = 0, return value = %zu
'>,> >fread>(buffer, 0, 1, filePointer));> >return> 0;> }> |
>
Java che ordina un arraylist
>Produzione
count = 0, return value = 0 size = 0, return value = 0>
C++
// C++ program to illustrate the vector container> #include> #include> using> namespace> std;> int> main()> {> >// 1d vector with initialization list> >vector<>int>>v1 = { 1, 2, 3, 4, 5 };> >// 2d vector with size and element value initialization> >vectorint>> v2(3, vettore |
>
>Produzione
v1: 1 2 3 4 5 6 v2: 1 2 3 4 6 v2:- 5 5 5 5 5 5 5 5 5>