The C friad() este o funcție standard de bibliotecă utilizată pentru a citi cantitatea dată de date dintr-un flux de fișiere. Definită în interiorul , funcția fread() citește numărul dat de elemente de dimensiune specifică din fluxul de fișiere și îl stochează în memoria tampon. Numărul total de octeți citiți de funcția fread() este numărul de elemente citiți înmulțit cu dimensiunea fiecărui element în octeți.
Sintaxa lui C fread()
size_t fread (void * buffer , size_t size , size_t count , FILE * stream );>
Indicatorul de poziție a fișierului este mutat automat înainte cu numărul de octeți citiți. Dacă obiectele citite nu pot fi copiate în mod trivial, cum ar fi structurile sau tipurile de date complexe, atunci nu se comportă corect.
Parametrii
- buffer: Se referă la indicatorul către blocul de memorie tampon unde vor fi stocate datele citite. dimensiune: se referă la dimensiunea fiecărui element în octeți. count: Se referă la numărul de elemente de citit. flux: se referă la indicatorul către fluxul de fișiere.
Valoare returnată
- Funcția returnează numărul de elemente care sunt citite cu succes din fișier.
- Dacă valoarea returnată este mai mică decât numărul, înseamnă că a apărut o eroare sau a ajuns la sfârșitul fișierului.
- Dacă valoarea mărimii sau numărului este zero, fread() returnează zero și nu efectuează nicio altă acțiune.
Notă: Funcția fread() în sine nu oferă o modalitate de a distinge între sfârșitul fișierului și eroare, feof și ferror pot fi folosite pentru a determina care a avut loc.
Exemple de C fread()
Exemplul 1
Programele de mai jos ilustrează funcția 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;> }> |
>
>
Să presupunem că fișierul g4g.txt conține următoarele date:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Apoi, după rularea programului, rezultatul va fi
sortare cu bule în java
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Exemplul 2
Acest program C demonstrează utilizarea funcției fread() atunci când dimensiunea sau numărul fișierului este egală cu 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 tostring
>
>Ieșire
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, vector |
>
>Ieșire
v1: 1 2 3 4 5 6 v2: 1 2 3 4 6 v2:- 5 5 5 5 5 5 5 5 5>