The C fread() on standardikirjastotoiminto, jota käytetään lukemaan tietyn määrän dataa tiedostovirrasta. Sisällä määritelty fread()-funktio lukee tietyn määrän tietynkokoisia elementtejä tiedostovirrasta ja tallentaa sen puskurimuistiin. Fread()-funktion lukemien tavujen kokonaismäärä on luettujen elementtien määrä kerrottuna kunkin elementin koolla tavuina.
C fread() syntaksi
size_t fread (void * buffer , size_t size , size_t count , FILE * stream );>
Tiedoston sijainnin ilmaisin siirtyy automaattisesti eteenpäin luettujen tavujen määrän mukaan. Jos luettavat objektit, kuten rakenteet tai monimutkaiset tietotyypit, eivät ole triviaalisti kopioitavissa, se ei toimi oikein.
Parametrit
- puskuri: Se viittaa osoittimeen puskurimuistilohkoon, johon luetut tiedot tallennetaan. koko: Se viittaa kunkin elementin kokoon tavuina. count: Se viittaa luettavien elementtien määrään. stream: Se viittaa osoittimeen tiedostovirtaan.
Palautusarvo
- Funktio palauttaa tiedostosta onnistuneesti luettujen elementtien määrän.
- Jos palautusarvo on pienempi kuin määrä, se tarkoittaa, että tapahtui virhe tai se on saavuttanut tiedoston loppuun.
- Jos koon tai määrän arvo on nolla, fread() palauttaa nollan eikä suorita muita toimintoja.
Huomautus: fread()-funktio itsessään ei tarjoa tapaa erottaa tiedoston lopun ja virheen välillä, feof ja ferror voidaan käyttää määrittämään, mikä tapahtui.
Esimerkkejä C fread()
Esimerkki 1
Alla olevat ohjelmat havainnollistavat fread()-funktiota.
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;> }> |
>
>
Oletetaan, että tiedosto g4g.txt sisältää seuraavat tiedot:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Sitten ohjelman suorittamisen jälkeen tulos on
muuntaa int merkkijonoksi c++
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Esimerkki 2
Tämä C-ohjelma näyttää fread()-funktion käytön, kun tiedoston koko tai lukumäärä on 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;> }> |
>
>Lähtö
count = 0, return value = 0 size = 0, return value = 0>
C++
tostring-menetelmä java
// 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, vektori |
>
>Lähtö
v1: 1 2 3 4 5 6 v2: 1 2 3 4 6 v2:- 5 5 5 5 5 5 5 5 5>