C ++ fread () - C ++ Standard Library

A fread () függvény a C ++ - ban megadott számú karaktert olvas le az adott bemeneti adatfolyamból.

fread () prototípus

 size_t fread (érvénytelen * puffer, size_t méret, size_t count, FILE * stream);

A fread()függvény beolvassa az adott bemeneti adatfolyam objektumainak számát, mindegyik méretméretű bájt. Hasonló az fgetc () méretszeres meghívásához az egyes objektumok olvasásához. Az elolvasott karakterek száma szerint a fájl pozíciójának mutatója növekszik.

A folyam fájlpozíció-indikátorának eredő értéke határozatlan, ha bármilyen hiba lép fel a fájl olvasása közben.

Ha az objektumok nem triviálisan másolhatók, akkor a viselkedés nincs meghatározva.

Ha a méret vagy a szám nulla, akkor a (z) címre történő hívás freadnulla értéket ad vissza, és más műveletet nem hajtanak végre.

A fejlécfájlban van meghatározva.

fread () Paraméterek

  • puffer: Mutató a memória blokkhoz az objektumok tárolásához.
  • méret: Az egyes objektumok mérete bájtban.
  • count: Az elolvasandó objektumok száma.
  • adatfolyam: A fájlfolyam, amelyből az adatokat beolvassa.

fread () Visszatérési érték

A fread()függvény visszaadja a sikeresen elolvasott objektumok számát. Ha hiba vagy a fájl vége bekövetkezik, a visszatérési érték kisebb lehet, mint a számlálás.

1. példa: A fread () függvény működése

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

Tegyük fel, hogy a fájl a következő adatokat tartalmazza:

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

A program futtatásakor a kimenet a következő lesz:

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

2. példa: Hogyan működik a fread () függvény, ha a szám vagy a méret nulla

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

A program futtatásakor a kimenet a következő lesz:

 Amikor a számlálás = 0, a visszatérési érték = 0 Ha a méret = 0, a visszatérési érték = 0

érdekes cikkek...