C ++ fread () - C ++ standardraamatukogu

Funktsioon fread () C ++ -s loeb etteantud sisendvoost määratud arvu märke.

fread () prototüüp

 size_t leib (void * puhver, size_t size, size_t count, FILE * stream);

fread()Funktsioon loeb arvu objektide arvu, iga suurus suurus baitides antud sisendi voog. See sarnaneb iga objekti lugemiseks fgetc () suuruse kordade kutsumisega. Vastavalt loetud märkide arvule suurendatakse faili positsiooni indikaatorit.

Saadud voo faili asukoha indikaatori väärtus on määramatu, kui faili lugemisel tekib mõni viga.

Kui objektid pole triviaalselt kopeeritavad, pole käitumine määratletud.

Kui suurus või arv on null, freadtagastatakse kõne numbrile null ja muid toiminguid ei tehta.

See on määratletud päisefailis.

fread () parameetrid

  • puhver: Objektide salvestamiseks kursor mäluplokile.
  • suurus: iga objekti suurus baitides.
  • count: loetavate objektide arv.
  • voog: failivoog, kust andmeid lugeda.

fread () Tagastusväärtus

fread()Tagastab objektide arvu lugeda edukalt. Kui ilmneb tõrge või faili lõpp, võib tagastusväärtus olla väiksem kui arv.

Näide 1: funktsiooni fread () toimimine

 #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; )

Oletame, et fail sisaldab järgmisi andmeid:

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

Programmi käivitamisel on väljund järgmine:

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

Näide 2: kuidas funktsioon fread () töötab, kui arv või suurus on null

 #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; )

Programmi käivitamisel on väljund järgmine:

 Kui arv = 0, tagastatav väärtus = 0 Kui suurus = 0, tagastav väärtus = 0

Huvitavad Artiklid...