C ++ fwrite () - C ++ - vakiokirjasto

Funktio fwrite () C ++: ssa kirjoittaa määrätyn määrän merkkejä annettuun lähtövirtaan.

fwrite () -prototyyppi

 size_t fwrite (const void * puskuri, size_t koko, size_t count, FILE * stream);

fwrite()Toiminto kirjoituksia laskea joukko esineitä, kunkin size tavua tietyn ulostulovirta.

Se on samanlainen kuin kutsu fputc () kutakin kertaa kirjoittaa jokainen objekti. Kirjoitettujen merkkien lukumäärän mukaan tiedoston sijainnin ilmaisinta lisätään. Virran tiedoston sijainnin osoittimen tulos on määrittelemätön, jos tiedostoa luettaessa tapahtuu virheitä.

  • Jos objekteja ei voida triviaalisesti kopioida, käyttäytymistä ei ole määritelty.
  • Jos koko tai määrä on nolla, puhelu numeroon fwritepalauttaa nollan eikä mitään muuta toimintaa suoriteta.

Se määritetään otsikkotiedostossa.

fwrite () -parametrit

  • puskuri: Osoitin muistilohkolle, jonka sisältö on kirjoitettu.
  • size: Kunkin objektin koko tavuina.
  • count: Luettavien kohteiden määrä.
  • stream: Tiedostovirta, johon tiedot kirjoitetaan.

fwrite () Palautusarvo

fwrite()Funktio palauttaa joukko esineitä luettu onnistuneesti. Jos tapahtuu virhe, paluuarvo voi olla pienempi kuin määrä.

Esimerkki 1: Kuinka fwrite () -toiminto toimii

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

Kun suoritat ohjelmaa, puskurin sisältö kirjoitetaan tiedostoon ja tulosteen tulee olla:

 fwrite palautti 1

Esimerkki 2: Kuinka fwrite () -toiminto toimii, kun joko luku tai koko on nolla

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

Kun suoritat ohjelmaa, tulos on:

 Kun määrä = 0, fwrite palautti 0 Kun koko = 0, fwrite palautti 0

Mielenkiintoisia artikkeleita...