C ++ fread () - C ++ standardbibliotek

Fread () -funktionen i C ++ læser et specificeret antal tegn fra den givne inputstrøm.

fread () prototype

 size_t fread (ugyldig * buffer, størrelse_t størrelse, størrelse_t antal, FIL * stream);

Den fread()aflæser tælle antallet af objekter, der hver størrelse size bytes fra den givet input stream. Det svarer til at kalde fgetc () størrelsestider for at læse hvert objekt. I henhold til antallet af læste tegn er filens placeringsindikator steget.

Den resulterende værdi af filpositionens indikator for strømmen er ubestemt, hvis der opstår en fejl under læsning af filen.

Hvis objekterne ikke er trivielt kopierbare, er adfærden udefineret.

Hvis størrelsen eller antallet er nul, freadreturnerer et opkald til nul, og der udføres ingen anden handling.

Det er defineret i header-fil.

fread () Parametre

  • buffer: Markør til hukommelsesblokken for at gemme objekterne.
  • størrelse: Størrelsen på hvert objekt i byte.
  • count: Antallet af objekter, der skal læses.
  • stream: Filstrømmen, som dataene læses fra.

fread () Returværdi

De fread()-funktionen giver antallet af objekter læse med succes. Hvis der opstår en fejl eller slutningen af ​​filtilstand, kan returværdien være mindre end optællingen.

Eksempel 1: Hvordan fungerer fread () -funktionen

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

Antag at filen indeholder følgende data:

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

Når du kører programmet, vil output være:

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

Eksempel 2: Sådan fungerer fread () -funktionen, når enten count eller størrelse er nul

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

Når du kører programmet, vil output være:

 Når optælling = 0, returværdi = 0 Når størrelse = 0, returværdi = 0

Interessante artikler...