C ++ fread () - C ++ standarta bibliotēka

Funkcija fread () C ++ nolasīs noteiktu rakstzīmju skaitu no norādītās ievades straumes.

fread () prototips

 size_t fread (void * buferis, size_t izmērs, size_t skaits, FILE * straume);

fread()Funkcija nolasa skaitīšanas objektu skaitu, katra izmērs lieluma baiti no ievadītās plūsmā. Tas ir līdzīgi kā izsaukt fgetc () lieluma reizes, lai lasītu katru objektu. Atkarībā no izlasīto rakstzīmju skaita faila pozīcijas indikators tiek palielināts.

Rezultātā iegūtās straumes faila pozīcijas indikatora vērtība ir nenoteikta, ja faila lasīšanas laikā rodas kāda kļūda.

Ja objekti nav triviāli kopējami, uzvedība nav definēta.

Ja lielums vai skaits ir nulle, zvans uz freadadresi atgriezīs nulli un netiks veiktas citas darbības.

Tas ir definēts galvenes failā.

fread () parametri

  • buferis: Atmiņas bloka rādītājs objektu glabāšanai.
  • lielums: katra objekta lielums baitos.
  • skaits: lasāmo objektu skaits.
  • straume: failu straume, no kuras nolasīt datus.

fread () atgriešanās vērtība

Par fread()funkcija atgriež objektu skaits veiksmīgi lasīt. Ja rodas kļūda vai faila stāvokļa beigas, atgriešanās vērtība var būt mazāka par skaitu.

1. piemērs: Kā darbojas funkcija 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; )

Pieņemsim, ka failā ir šādi dati:

 Deniss Ričijs: C Bjarne Stroustrup: C ++ Gvido van Rosums: Python Džeimss Goslings: Java

Palaidot programmu, izeja būs:

 Deniss Ričijs: C Bjarne Stroustrup: C ++ Gvido van Rosums: Python Džeimss Goslings: Java

2. piemērs: Kā darbojas funkcija fread (), ja skaitlis vai lielums ir nulle

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

Palaidot programmu, izeja būs:

 Kad skaits = 0, atgriešanās vērtība = 0 Kad lielums = 0, atgriešanās vērtība = 0

Interesanti raksti...