C ++ fread () - Standardna knjižnica C ++

Funkcija fread () v jeziku C ++ bere določeno število znakov iz danega vhodnega toka.

prototip fread ()

 size_t fread (void * medpomnilnik, size_t size, size_t count, FILE * stream);

fread()Funkcija prebere število štetje predmetov, vsaka velikosti velikosti bajti iz določenega vhodnega toka. Za branje vsakega predmeta je podobno klicanju velikosti fgetc (). Kazalnik položaja datoteke se poveča glede na število prebranih znakov.

Nastala vrednost kazalnika položaja datoteke za tok je nedoločena, če med branjem datoteke pride do napake.

Če predmetov ni mogoče trivialno kopirati, vedenje ni določeno.

Če je velikost ali štetje nič, bo klic freadvrnil nič in nobeno drugo dejanje ne bo izvedeno.

Določen je v datoteki glave.

parametri fread ()

  • medpomnilnik: Kazalec na blok pomnilnika za shranjevanje predmetov.
  • velikost: velikost vsakega predmeta v bajtih.
  • count: število predmetov, ki jih je treba prebrati.
  • tok: tok datotek, iz katerega bere podatke.

fread () Vrnjena vrednost

Se fread()vrne število predmetov uspešno bere. Če pride do napake ali stanja konca datoteke, je lahko vrnjena vrednost manjša od števila.

Primer 1: Kako deluje fread ()

 #include #include using namespace std; int main() ( FILE *fp; char buffer(100); fp = fopen("data.txt","rb"); while(!feof(fp)) ( fread(buffer,sizeof(buffer),1,fp); cout << buffer; ) return 0; )

Recimo, da datoteka vsebuje naslednje podatke:

 Dennis Ritchie: C Bjarne Stroustrup: C ++ Guido van Rossum: Python James Gosling: Java

Ko zaženete program, bo rezultat:

 Dennis Ritchie: C Bjarne Stroustrup: C ++ Guido van Rossum: Python James Gosling: Java

Primer 2: Kako deluje fread (), kadar je število ali velikost enaka nič

 #include #include using namespace std; int main() ( FILE *fp; char buffer(100); int retVal; fp = fopen("data.txt","rb"); /* when count is zero */ retVal = fread(buffer,sizeof(buffer),0,fp); cout << "When count = 0, return value = " << retVal << endl; /* when size is zero */ retVal = fread(buffer,0,1,fp); cout << "When size = 0, return value = " << retVal << endl; return 0; )

Ko zaženete program, bo rezultat:

 Ko je count = 0, je vrnjena vrednost = 0 Ko je velikost = 0, je vrnjena vrednost = 0

Zanimive Članki...