De C fread() er en standard bibliotekfunksjon som brukes til å lese den gitte mengden data fra en filstrøm. Definert i , leser fread()-funksjonen det gitte antallet elementer av spesifikk størrelse fra filstrømmen og lagrer det i bufferminnet. Det totale antallet byte lest av fread()-funksjonen er antall elementer lest multiplisert med størrelsen på hvert element i byte.
Syntaks for C fread()
size_t fread (void * buffer , size_t size , size_t count , FILE * stream );>
Filposisjonsindikatoren flyttes automatisk fremover med antall leste byte. Hvis objektene som leses ikke er trivielt kopierbare, for eksempel strukturer eller komplekse datatyper, oppfører de seg ikke riktig.
Parametere
- buffer: Det refererer til pekeren til bufferminneblokken der de leste dataene vil bli lagret. størrelse: Det refererer til størrelsen på hvert element i byte. count: Det refererer til antallet elementer som skal leses. stream: Det refererer til pekeren til filstrømmen.
Returverdi
- Funksjonen returnerer antall elementer som er lest vellykket fra filen.
- Hvis returverdien er mindre enn tellingen, betyr det at det har oppstått en feil eller at den har nådd slutten av filen.
- Hvis verdien av størrelse eller antall er null, returnerer fread() null og utfører ingen annen handling.
Merk: fread()-funksjonen i seg selv gir ikke en måte å skille mellom slutten av filen og feilen, feof og ferror kan brukes til å bestemme hva som skjedde.
Eksempler på C fread()
Eksempel 1
Programmene nedenfor illustrerer fread()-funksjonen.
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;> }> |
>
>
Anta at filen g4g.txt inneholder følgende data:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Deretter, etter å ha kjørt programmet, vil utgangen være
cout
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Eksempel 2
Dette C-programmet demonstrerer bruken av fread()-funksjonen når filens størrelse eller antall er lik 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;> }> |
>
>Produksjon
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, vektor |
int til streng java
>
>Produksjon
v1: 1 2 3 4 5 6 v2: 1 2 3 4 6 v2:- 5 5 5 5 5 5 5 5 5>