C ++ fwrite () - C ++ standaardbibliotheek

De functie fwrite () in C ++ schrijft een gespecificeerd aantal tekens naar de opgegeven uitvoerstroom.

fwrite () prototype

 size_t fwrite (const void * buffer, size_t size, size_t count, FILE * stream);

De fwrite()functie schrijft het aantal objecten, elk met een grootte van bytes, naar de gegeven uitvoerstroom.

Het is vergelijkbaar met het aanroepen van fputc () size times om elk object te schrijven. Afhankelijk van het aantal geschreven tekens, wordt de positie-indicator van het bestand verhoogd. De resulterende waarde van de bestandspositie-indicator voor de stream is onbepaald als er een fout optreedt tijdens het lezen van het bestand.

  • Als de objecten niet triviaal kopieerbaar zijn, is het gedrag ongedefinieerd.
  • Als de grootte of het aantal nul is, fwriteretourneert een aanroep naar nul en wordt er geen andere actie uitgevoerd.

Het wordt gedefinieerd in het header-bestand.

fwrite () Parameters

  • buffer: Pointer naar het geheugenblok waarvan de inhoud is geschreven.
  • size: grootte van elk object in bytes.
  • count: het aantal objecten dat moet worden gelezen.
  • stream: de bestandsstream waarnaar de gegevens moeten worden geschreven.

fwrite () Retourwaarde

De fwrite()functie retourneert het aantal succesvol gelezen objecten. Als er een fout optreedt, kan de geretourneerde waarde kleiner zijn dan het aantal.

Voorbeeld 1: hoe de functie fwrite () werkt

 #include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("data.txt","w"); retVal = fwrite(buffer,sizeof(buffer),1,fp); cout << "fwrite returned " << retVal; return 0; )

Wanneer u het programma uitvoert, wordt de inhoud van de buffer naar het bestand geschreven en de uitvoer is:

 fwrite retourneerde 1

Voorbeeld 2: hoe de functie fwrite () werkt als het aantal of de grootte nul is

 #include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("myfile.txt","w"); retVal = fwrite(buffer,sizeof(buffer),0,fp); cout << "When count = 0, fwrite returned " << retVal << endl; retVal = fwrite(buffer,0,1,fp); cout << "When size = 0, fwrite returned " << retVal << endl; return 0; )

Wanneer u het programma uitvoert, is de uitvoer:

 Als count = 0, retourneert fwrite 0. Wanneer size = 0, retourneert fwrite 0

Interessante artikelen...